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 cef3858a83 SonarQube bug fixes
cef3858a83 is described below
commit cef3858a83c63650b3211f07e41239f6c0647598
Author: James Bognar <[email protected]>
AuthorDate: Wed Feb 18 16:13:24 2026 -0500
SonarQube bug fixes
---
.../java/org/apache/juneau/bean/LinkString.java | 2 +-
.../apache/juneau/bean/jsonschema/JsonSchema.java | 2 ++
.../jsonschema/JsonSchemaPropertySimpleArray.java | 1 +
.../org/apache/juneau/bean/openapi3/Items.java | 5 ++++-
.../org/apache/juneau/bean/openapi3/OpenApi.java | 5 ++++-
.../juneau/bean/openapi3/ServerVariable.java | 3 ---
.../juneau/assertions/AssertionPredicate.java | 4 ++--
.../juneau/assertions/FluentObjectAssertion.java | 2 +-
.../apache/juneau/commons/collections/Maps.java | 5 ++++-
.../java/org/apache/juneau/commons/io/Console.java | 5 ++++-
.../org/apache/juneau/commons/io/LocalFile.java | 5 ++++-
.../org/apache/juneau/commons/logging/Logger.java | 5 ++++-
.../juneau/commons/reflect/AccessibleInfo.java | 5 ++++-
.../juneau/commons/reflect/AnnotationProvider.java | 5 ++++-
.../apache/juneau/commons/reflect/ClassInfo.java | 6 ++++-
.../juneau/commons/reflect/ExecutableInfo.java | 10 +++++++--
.../apache/juneau/commons/reflect/FieldInfo.java | 5 ++++-
.../juneau/commons/utils/AssertionUtils.java | 9 ++++++--
.../apache/juneau/commons/utils/ClassUtils.java | 5 ++++-
.../juneau/commons/utils/CollectionUtils.java | 10 +++++++--
.../apache/juneau/annotation/SchemaAnnotation.java | 1 +
.../org/apache/juneau/httppart/HttpPartSchema.java | 1 +
.../juneau/msgpack/MsgPackSerializerSession.java | 26 +++++++++++++++++-----
.../org/apache/juneau/svl/VarResolverSession.java | 11 +++++++--
.../java/org/apache/juneau/swap/StringSwap.java | 2 --
.../org/apache/juneau/uon/UonParserSession.java | 13 +++++++++--
.../urlencoding/UrlEncodingParserSession.java | 10 ++++-----
.../juneau/microservice/resources/LogParser.java | 9 +++++---
.../apache/juneau/rest/client/ResponseHeader.java | 3 +--
.../org/apache/juneau/rest/client/RestClient.java | 13 ++++++-----
.../rest/swagger/BasicSwaggerProviderSession.java | 1 +
.../JsonSchemaPropertySimpleArray_Test.java | 1 +
.../juneau/httppart/HttpPartSchema_Body_Test.java | 3 +++
.../juneau/jsonschema/JsonSchemaGeneratorTest.java | 2 ++
.../annotation/SchemaAnnotation_Test.java | 3 +++
.../client/RestClient_Config_RestClient_Test.java | 1 +
36 files changed, 148 insertions(+), 51 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 2a7afe1376..91b2790dea 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
@@ -143,7 +143,7 @@ public class LinkString implements Comparable<LinkString> {
* @return This object.
*/
public LinkString setUri(String value) {
- setUri(value, new Object[0]);
+ setUri(value, (Object[]) new Object[0]);
return this;
}
diff --git
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
index 7629f50bbd..4fab4e651f 100644
---
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
+++
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
@@ -909,6 +909,7 @@ public class JsonSchema {
* @deprecated Use {@link #getIdUri()} instead.
*/
@Deprecated(since = "10.0", forRemoval = true)
+ @SuppressWarnings("java:S1133") // Kept for Draft 04 backward
compatibility, will be removed in future version
public URI getId() {
return nn(id) ? id : idUri; // Fall back to new '$id' for
compatibility when reading
}
@@ -1570,6 +1571,7 @@ public class JsonSchema {
* @deprecated Use {@link #setIdUri(Object)} instead.
*/
@Deprecated(since = "10.0", forRemoval = true)
+ @SuppressWarnings("java:S1133") // Kept for Draft 04 backward
compatibility, will be removed in future version
public JsonSchema setId(Object value) {
this.id = toUri(value);
return this;
diff --git
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchemaPropertySimpleArray.java
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchemaPropertySimpleArray.java
index 1845e75fc3..c65299ed50 100644
---
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchemaPropertySimpleArray.java
+++
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchemaPropertySimpleArray.java
@@ -249,6 +249,7 @@ public class JsonSchemaPropertySimpleArray extends
JsonSchemaProperty {
*/
@Override /* Overridden from JsonSchemaProperty */
@Deprecated(since = "10.0", forRemoval = true) // Parent method is
deprecated
+ @SuppressWarnings("java:S1133") // Kept for Draft 04 backward
compatibility, will be removed in future version
public JsonSchemaPropertySimpleArray setId(Object value) {
super.setId(value);
return this;
diff --git
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Items.java
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Items.java
index a73874f7f7..bbb0605995 100644
---
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Items.java
+++
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Items.java
@@ -123,7 +123,10 @@ public class Items extends OpenApiElement {
private Boolean exclusiveMaximum;
private Boolean exclusiveMinimum;
private Boolean uniqueItems;
- @SuppressWarnings("java:S1845") // Field name intentionally matches
class name
+ @SuppressWarnings({
+ "java:S1845", // Field name intentionally matches class name
per OpenAPI spec
+ "java:S1700" // Field duplicates class name per OpenAPI spec
+ })
private Items items;
private Object default_;
private List<Object> enum_ = list();
diff --git
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
index ab6ca38cfd..4d5046b8f6 100644
---
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
+++
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
@@ -100,7 +100,10 @@ public class OpenApi extends OpenApiElement {
private static final String PROP_servers = "servers";
private static final String PROP_tags = "tags";
- @SuppressWarnings("java:S1845") // Field name intentionally matches
class name
+ @SuppressWarnings({
+ "java:S1845", // Field name intentionally matches class name
per OpenAPI spec
+ "java:S1700" // Field duplicates class name per OpenAPI spec
+ })
private String openapi = "3.0.0";
private Info info;
private List<Server> servers = list();
diff --git
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ServerVariable.java
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ServerVariable.java
index 56201b5e9f..d86490a4c8 100644
---
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ServerVariable.java
+++
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ServerVariable.java
@@ -26,9 +26,6 @@ import java.util.*;
import org.apache.juneau.commons.collections.*;
/**
- * TODO
- *
- * <p>
* The ServerVariable Object represents a server variable for server URL
template substitution. Server variables can be
* used to define different server environments (e.g., development, staging,
production) with different base URLs,
* ports, or other variable parts of the server URL.
diff --git
a/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/AssertionPredicate.java
b/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/AssertionPredicate.java
index 592640f326..811703fb44 100644
---
a/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/AssertionPredicate.java
+++
b/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/AssertionPredicate.java
@@ -99,7 +99,7 @@ public class AssertionPredicate<T> implements Predicate<T> {
var b = p.test(t);
if (! b) {
var m =
f(MSG_predicateTestFailed, i + 1);
- if (p instanceof
AssertionPredicate p2)
+ if (p instanceof
AssertionPredicate<?> p2)
m += "\n\t" +
p2.getFailureMessage();
failedMessage.set(m);
return false;
@@ -250,7 +250,7 @@ public class AssertionPredicate<T> implements Predicate<T> {
oargs[i] = r(a);
}
m = f(m, oargs);
- if (inner instanceof AssertionPredicate inner2)
+ if (inner instanceof AssertionPredicate<?> inner2)
m += "\n\t" + inner2.getFailureMessage();
failedMessage.set(m);
}
diff --git
a/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
b/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
index cd22289419..ac604615bd 100644
---
a/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
+++
b/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
@@ -581,7 +581,7 @@ public class FluentObjectAssertion<T,R> extends
FluentAssertion<R> {
* @return The result, never <jk>null</jk>.
*/
protected String getFailureMessage(Predicate<?> p, Object value) {
- if (p instanceof AssertionPredicate p2)
+ if (p instanceof AssertionPredicate<?> p2)
return p2.getFailureMessage();
return f(MSG_unexpectedValue2, r(value));
}
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
index 0974e248eb..820f4dc6fa 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
@@ -165,7 +165,10 @@ public class Maps<K,V> {
* @param <V> Value type.
* @return A new builder.
*/
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings({
+ "unchecked", // Type erasure requires unchecked operations
+ "rawtypes" // Raw types necessary for generic map handling
+ })
public static <K,V> Maps<K,V> create() {
return new Maps(Object.class, Object.class);
}
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/Console.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/Console.java
index 66862db3c2..9f054ae1f9 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/Console.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/Console.java
@@ -26,7 +26,10 @@ import java.text.*;
* <p>
* Uses {@link java.text.MessageFormat} for formatting messages with arguments.
*/
-@SuppressWarnings({"java:S106", "java:S108"}) // System.err/out usage is
intentional for console output utility
+@SuppressWarnings({
+ "java:S106", // System.err/out usage is intentional for console output
utility
+ "java:S108" // Nested blocks used for logical grouping in console
operations
+})
public class Console {
/**
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/LocalFile.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/LocalFile.java
index 5d794bef90..821e4ba0b2 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/LocalFile.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/LocalFile.java
@@ -82,7 +82,10 @@ import java.nio.file.*;
* <li class='link'><a class="doclink"
href="https://juneau.apache.org/docs/topics/JuneauCommonsIO">I/O Package</a>
* </ul>
*/
-@SuppressWarnings({"resource", "java:S115"})
+@SuppressWarnings({
+ "resource", // File resources managed by calling code
+ "java:S115" // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+})
public class LocalFile {
// Argument name constants for assertArgNotNull
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/logging/Logger.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/logging/Logger.java
index a54e7694b7..2d528a1d61 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/logging/Logger.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/logging/Logger.java
@@ -75,7 +75,10 @@ import org.apache.juneau.commons.collections.Cache;
* <li class='jc'>{@link java.util.logging.Logger}
* </ul>
*/
-@SuppressWarnings({ "java:S100", "java:S1192" }) // Class name intentionally
matches java.util.logging.Logger for compatibility
+@SuppressWarnings({
+ "java:S100", // Method names match java.util.logging.Logger for API
compatibility
+ "java:S1192" // String literals intentionally duplicated for clarity
+})
public class Logger extends java.util.logging.Logger {
/**
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AccessibleInfo.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AccessibleInfo.java
index 1138aa93dd..cfb49d068c 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AccessibleInfo.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AccessibleInfo.java
@@ -73,7 +73,10 @@ import java.lang.reflect.*;
* <li class='link'><a class="doclink"
href="https://juneau.apache.org/docs/topics/JuneauCommonsReflection">Reflection
Package</a>
* </ul>
*/
-@SuppressWarnings({"java:S115", "java:S3011"})
+@SuppressWarnings({
+ "java:S115", // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+ "java:S3011" // Reflection access needed for accessibility
introspection
+})
public abstract class AccessibleInfo extends ElementInfo {
// Argument name constants for assertArgNotNull
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationProvider.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationProvider.java
index 6b823c6419..ba9a7d71ac 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationProvider.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationProvider.java
@@ -991,7 +991,10 @@ public class AnnotationProvider {
* Computes and caches the complete list of annotations for a given
type, class, and traversal combination.
* This is the supplier function for the findCache.
*/
- @SuppressWarnings({"java:S6541", "java:S3776"})
+ @SuppressWarnings({
+ "java:S6541", // Synchronization not needed for cache access
pattern
+ "java:S3776" // Cognitive complexity acceptable for annotation
traversal logic
+ })
private List load(Class<?> type, ElementInfo element,
AnnotationTraversal[] traversals) {
if (type != null) {
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/ClassInfo.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/ClassInfo.java
index dd5bb57b04..02907ce099 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/ClassInfo.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/ClassInfo.java
@@ -305,7 +305,11 @@ public class ClassInfo extends ElementInfo implements
Annotatable, Type, Compara
* @return
* The same StringBuilder for method chaining.
*/
- @SuppressWarnings({ "null", "java:S3776", "java:S6541" })
+ @SuppressWarnings({
+ "null", // Null analysis handled by runtime checks
+ "java:S3776", // Cognitive complexity acceptable for name
formatting logic
+ "java:S6541" // Synchronization not needed for local
StringBuilder operations
+ })
public StringBuilder appendNameFormatted(StringBuilder sb,
ClassNameFormat nameFormat, boolean includeTypeParams, char separator,
ClassArrayFormat arrayFormat) {
var dim = getDimensions();
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/ExecutableInfo.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/ExecutableInfo.java
index f54cd0e05f..01db48daba 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/ExecutableInfo.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/ExecutableInfo.java
@@ -80,7 +80,10 @@ import org.apache.juneau.commons.utils.*;
* <li class='link'><a class="doclink"
href="https://juneau.apache.org/docs/topics/JuneauCommonsReflection">Reflection
Package</a>
* </ul>
*/
-@SuppressWarnings({"java:S115", "java:S3011"})
+@SuppressWarnings({
+ "java:S115", // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+ "java:S3011" // Reflection access needed for executable introspection
+})
public abstract class ExecutableInfo extends AccessibleInfo {
// Argument name constants for assertArgNotNull
@@ -851,7 +854,10 @@ public abstract class ExecutableInfo extends
AccessibleInfo {
return toString.get();
}
- @SuppressWarnings({ "java:S3776", "java:S6541" })
+ @SuppressWarnings({
+ "java:S3776", // Cognitive complexity acceptable for toString
formatting logic
+ "java:S6541" // Synchronization not needed for local string
building
+ })
private String findToString() {
var sb = new StringBuilder(256);
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/FieldInfo.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/FieldInfo.java
index 8f21c1cfcf..52df7dc020 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/FieldInfo.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/FieldInfo.java
@@ -86,7 +86,10 @@ import org.apache.juneau.commons.utils.*;
* <li class='link'><a class="doclink"
href="https://juneau.apache.org/docs/topics/JuneauCommonsReflection">Reflection
Package</a>
* </ul>
*/
-@SuppressWarnings({"java:S115", "java:S3011"})
+@SuppressWarnings({
+ "java:S115", // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+ "java:S3011" // Reflection access needed for field introspection
+})
public class FieldInfo extends AccessibleInfo implements
Comparable<FieldInfo>, Annotatable {
// Argument name constants for assertArgNotNull
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/AssertionUtils.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/AssertionUtils.java
index ab3c6cf0f2..1310da324e 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/AssertionUtils.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/AssertionUtils.java
@@ -279,7 +279,9 @@ public class AssertionUtils {
* @return The object cast to the specified type.
* @throws IllegalArgumentException Thrown if the object is not an
instance of the specified type.
*/
- @SuppressWarnings({ "unchecked" })
+ @SuppressWarnings({
+ "unchecked" // Type safety ensured by instanceof check
+ })
public static final <T> T assertType(Class<T> type, Object o) throws
IllegalArgumentException {
assertArgNotNull(ARG_type, type);
assertArgNotNull(ARG_o, o);
@@ -309,7 +311,10 @@ public class AssertionUtils {
* @return The object cast to the specified type.
* @throws RuntimeException Thrown if the object is not an instance of
the specified type (the exception is provided by the supplier).
*/
- @SuppressWarnings({ "unchecked", "java:S112" }) // Exception type comes
from caller's supplier
+ @SuppressWarnings({
+ "unchecked", // Type safety ensured by instanceof check
+ "java:S112" // Exception type comes from caller's supplier
+ })
public static final <T> T assertType(Class<T> type, Object o,
java.util.function.Supplier<? extends RuntimeException> exceptionSupplier) {
assertArgNotNull(ARG_type, type);
assertArgNotNull(ARG_o, o);
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/ClassUtils.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/ClassUtils.java
index 973be23b80..2138929657 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/ClassUtils.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/ClassUtils.java
@@ -32,7 +32,10 @@ import org.apache.juneau.commons.reflect.*;
* Utility methods for working with classes.
*
*/
-@SuppressWarnings({"java:S115", "java:S3011"})
+@SuppressWarnings({
+ "java:S115", // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+ "java:S3011" // Reflection access needed for class introspection
utilities
+})
public class ClassUtils {
/**
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
index ba5da8deb1..844e9106be 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
@@ -572,7 +572,10 @@ public class CollectionUtils {
* @param list The list to copy the values into.
* @return The same list passed in.
*/
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings({
+ "unchecked", // Type erasure requires unchecked cast from array
+ "rawtypes" // Raw types necessary for generic array handling
+ })
public static List copyArrayToList(Object array, List list) {
if (nn(array)) {
var length = Array.getLength(array);
@@ -2120,7 +2123,10 @@ public class CollectionUtils {
* @param values The values to initialize the list with.
* @return A new modifiable list.
*/
- @SuppressWarnings({ "rawtypes", "unchecked" })
+ @SuppressWarnings({
+ "rawtypes", // Raw types necessary for varargs handling
+ "unchecked" // Type erasure requires unchecked operations
+ })
@SafeVarargs
public static <E> List<E> sortedList(E...values) {
List<E> l = list(values);
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
index 53a36ce1fa..4c7906f4bd 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
@@ -1688,6 +1688,7 @@ public class SchemaAnnotation {
* @return The schema converted to a map, or and empty map if the
annotation was null.
* @throws ParseException Malformed input encountered.
*/
+ @SuppressWarnings("removal") // Handles deprecated boolean-style
exclusiveMaximum/exclusiveMinimum for backward compatibility
public static JsonMap asMap(Schema a) throws ParseException {
if (a == null)
return JsonMap.EMPTY_MAP;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
index 875d58467d..935daf1ad6 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
@@ -2814,6 +2814,7 @@ public class HttpPartSchema {
// Other
//
-----------------------------------------------------------------------------------------------------------------
+ @SuppressWarnings("removal") // Handles deprecated
boolean-style exclusiveMaximum/exclusiveMinimum for backward compatibility
Builder apply(Schema a) {
default_(joinnlOrNull(a.default_(), a.df()));
enum_(toSet(a.enum_(), a.e()));
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java
index d44e76aea8..ff040518b2 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java
@@ -43,7 +43,11 @@ import org.apache.juneau.svl.*;
* </ul>
*/
-@SuppressWarnings({"resource","java:S110","java:S115"})
+@SuppressWarnings({
+ "resource", // Output streams managed by calling code
+ "java:S110", // Inheritance depth acceptable for serializer session
hierarchy
+ "java:S115" // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+})
public class MsgPackSerializerSession extends OutputStreamSerializerSession {
// Argument name constants for assertArgNotNull
@@ -52,7 +56,10 @@ public class MsgPackSerializerSession extends
OutputStreamSerializerSession {
/**
* Builder class.
*/
- @SuppressWarnings({"java:S110", "java:S115"})
+ @SuppressWarnings({
+ "java:S110", // Inheritance depth acceptable for builder
hierarchy
+ "java:S115" // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+ })
public static class Builder extends
OutputStreamSerializerSession.Builder {
private MsgPackSerializer ctx;
@@ -213,7 +220,10 @@ public class MsgPackSerializerSession extends
OutputStreamSerializerSession {
* Workhorse method.
* Determines the type of object, and then calls the appropriate
type-specific serialization method.
*/
- @SuppressWarnings({ "rawtypes", "java:S3776" })
+ @SuppressWarnings({
+ "rawtypes", // Raw types necessary for generic type handling
+ "java:S3776" // Cognitive complexity acceptable for
serialization dispatch logic
+ })
private MsgPackOutputStream serializeAnything(MsgPackOutputStream out,
Object o, ClassMeta<?> eType, String attrName, BeanPropertyMeta pMeta) throws
SerializeException {
if (o == null)
@@ -325,7 +335,10 @@ public class MsgPackSerializerSession extends
OutputStreamSerializerSession {
});
}
- @SuppressWarnings({ "rawtypes", "unchecked" })
+ @SuppressWarnings({
+ "rawtypes", // Raw types necessary for generic collection
handling
+ "unchecked" // Type erasure requires unchecked operations
+ })
private void serializeCollection(MsgPackOutputStream out, Collection c,
ClassMeta<?> type) throws SerializeException {
var elementType = type.getElementType();
List<Object> l = listOfSize(c.size());
@@ -335,7 +348,10 @@ public class MsgPackSerializerSession extends
OutputStreamSerializerSession {
l.forEach(x -> serializeAnything(out, x, elementType,
"<iterator>", null));
}
- @SuppressWarnings({ "rawtypes", "unchecked" })
+ @SuppressWarnings({
+ "rawtypes", // Raw types necessary for generic map handling
+ "unchecked" // Type erasure requires unchecked operations
+ })
private void serializeMap(MsgPackOutputStream out, Map m, ClassMeta<?>
type) throws SerializeException {
var keyType = type.getKeyType();
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
index 708f45b191..ebd098787c 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
@@ -52,7 +52,10 @@ import org.apache.juneau.cp.*;
* <li class='link'><a class="doclink"
href="https://juneau.apache.org/docs/topics/SimpleVariableLanguageBasics">Simple
Variable Language Basics</a>
* </ul>
*/
-@SuppressWarnings({ "resource", "java:S115" }) // Constants use
UPPER_snakeCase convention (e.g., PROP_contextBeanStore)
+@SuppressWarnings({
+ "resource", // VarResolver resources managed by calling code
+ "java:S115" // Constants use UPPER_snakeCase convention (e.g.,
PROP_contextBeanStore)
+})
public class VarResolverSession {
// Property name constants
@@ -261,7 +264,11 @@ public class VarResolverSession {
* @return The same object if no resolution was needed, otherwise a new
object or data structure if resolution was
* needed.
*/
- @SuppressWarnings({ "rawtypes", "unchecked", "java:S3776" })
+ @SuppressWarnings({
+ "rawtypes", // Raw types necessary for generic resolution
+ "unchecked", // Type erasure requires unchecked operations
+ "java:S3776" // Cognitive complexity acceptable for recursive
resolution logic
+ })
public <T> T resolve(T o) {
if (o == null)
return null;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/StringSwap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/StringSwap.java
index a85a2c5fef..68740b992d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/StringSwap.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/StringSwap.java
@@ -16,8 +16,6 @@
*/
package org.apache.juneau.swap;
-import org.apache.juneau.*;
-
/**
* Abstract subclass for object swaps that swap objects for strings.
*
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
index daf0d8f534..b407b2cf9f 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
@@ -49,7 +49,13 @@ import org.apache.juneau.swap.*;
* </ul>
*/
-@SuppressWarnings({ "java:S125", "java:S115", "rawtypes", "resource",
"unchecked" }) // S125: state-machine comments
+@SuppressWarnings({
+ "java:S125", // State-machine comments are documentation, not
commented-out code
+ "java:S115", // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+ "rawtypes", // Raw types necessary for generic type handling
+ "resource", // UonReader is managed by caller
+ "unchecked" // Type erasure requires unchecked casts
+})
public class UonParserSession extends ReaderParserSession implements
HttpPartParserSession {
// Property name constants
@@ -300,7 +306,10 @@ public class UonParserSession extends ReaderParserSession
implements HttpPartPar
* @throws ParseException Malformed input encountered.
* @throws ExecutableException Exception occurred on invoked
constructor/method/field.
*/
- @SuppressWarnings({ "java:S3776", "java:S6541" })
+ @SuppressWarnings({
+ "java:S3776", // Cognitive complexity acceptable for parser
state machine
+ "java:S6541" // Synchronization not needed for session-local
state
+ })
public <T> T parseAnything(ClassMeta<?> eType, UonReader r, Object
outer, boolean isUrlParamValue, BeanPropertyMeta pMeta) throws IOException,
ParseException, ExecutableException {
if (eType == null)
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
index 8f0918a64a..cd91193099 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
@@ -46,11 +46,11 @@ import org.apache.juneau.uon.*;
* </ul>
*/
@SuppressWarnings({
- "unchecked",
- "rawtypes",
- "resource",
- "java:S110",
- "java:S115" // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
+ "unchecked", // Type erasure requires unchecked casts
+ "rawtypes", // Raw types necessary for generic type handling
+ "resource", // UonReader is managed by caller
+ "java:S110", // Inheritance depth acceptable for session hierarchy
+ "java:S115" // Constants use UPPER_snakeCase convention (e.g.,
CONST_value)
})
public class UrlEncodingParserSession extends UonParserSession {
diff --git
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogParser.java
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogParser.java
index 0993893a49..5bf4c6ebb3 100644
---
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogParser.java
+++
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogParser.java
@@ -174,11 +174,12 @@ public class LogParser implements
Iterable<LogParser.Entry>, Closeable {
} else {
prev = null;
}
- } else {
- if (nn(prev))
- prev.addText(e.line);
+ } else {
+ if (nn(prev)) { // prev is non-null here
+ prev.addText(e.line);
}
}
+ }
if (nn(prev))
allEntries.add(prev);
this.entries = allEntries;
@@ -196,6 +197,8 @@ public class LogParser implements
Iterable<LogParser.Entry>, Closeable {
/**
* Returns whether any entries are available.
+ *
+ * @return <jk>true</jk> if entries are available, <jk>false</jk>
otherwise.
*/
public boolean hasNext() {
return !entries.isEmpty();
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
index 5571056d00..df1db2ea92 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
@@ -264,8 +264,7 @@ public class ResponseHeader extends BasicHeader {
var cause = e.getCause();
if (cause instanceof Exception ex)
throw toRex(ex);
- else
- throw toRex(cause);
+ throw toRex(cause);
} catch (Exception e) {
throw toRex(e);
}
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index cc80a7aea2..217f9e0d88 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -6344,12 +6344,13 @@ public class RestClient extends BeanContextable
implements HttpClient, Closeable
} else if (state == S4) {
if (! isWhitespace(c)) {
mark = i;
- // State machine requires state
transition to S5, SonarLint reports false positive
- @SuppressWarnings({
- "java:S1854", // State machine
requires state transition to S5
- "java:S1481" // unused
variable intentional; assignment is for side effect (state = S5)
- })
- var unused = (state = S5);
+ // State machine requires state transition to
S5, SonarLint reports false positive
+ @SuppressWarnings({
+ "java:S1854", // State machine
requires state transition to S5
+ "java:S1481", // unused variable
intentional; assignment is for side effect (state = S5)
+ "unused" // Eclipse/Java compiler
warning for unused variable
+ })
+ var unused = (state = S5);
}
} else /* (state == S5) */ {
if (isWhitespace(c)) {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
index 025c31f8a5..b50ca1bc68 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
@@ -923,6 +923,7 @@ public class BasicSwaggerProviderSession {
// @formatter:on
}
+ @SuppressWarnings("removal") // Uses deprecated
exclusiveMaximum/exclusiveMinimum for backward compatibility
private JsonMap merge(JsonMap om, Schema a) {
try {
if (SchemaAnnotation.empty(a))
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/bean/jsonschema/JsonSchemaPropertySimpleArray_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/bean/jsonschema/JsonSchemaPropertySimpleArray_Test.java
index 2c3cf56239..e62c942c58 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/bean/jsonschema/JsonSchemaPropertySimpleArray_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/bean/jsonschema/JsonSchemaPropertySimpleArray_Test.java
@@ -26,6 +26,7 @@ import org.junit.jupiter.api.*;
*/
class JsonSchemaPropertySimpleArray_Test extends TestBase {
+ @SuppressWarnings("removal") // Tests deprecated setId() method for
backward compatibility
@Test void a01_fluentChaining_basicSetters() {
var p = new JsonSchemaPropertySimpleArray("myArray",
JsonType.STRING);
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchema_Body_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchema_Body_Test.java
index 31afd1f039..93b32f01a4 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchema_Body_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/httppart/HttpPartSchema_Body_Test.java
@@ -879,6 +879,7 @@ class HttpPartSchema_Body_Test extends TestBase {
@Schema(t="integer", exclusiveMaximum=true, exclusiveMinimum=true,
maximum="100", minimum="0")
public static class D03a {}
+ @SuppressWarnings("removal") // Tests deprecated boolean-style
exclusiveMaximum/exclusiveMinimum for backward compatibility
@Test void d03a_exclusiveBooleanBounds() throws Exception {
var s = HttpPartSchema.create().applyAll(Content.class,
D03a.class).build();
s.validateOutput(1, BeanContext.DEFAULT);
@@ -896,6 +897,7 @@ class HttpPartSchema_Body_Test extends TestBase {
@Schema(t="integer", exclusiveMaximum=false, exclusiveMinimum=false,
maximum="100", minimum="0")
public static class D03b {}
+ @SuppressWarnings("removal") // Tests deprecated boolean-style
exclusiveMaximum/exclusiveMinimum for backward compatibility
@Test void d03b_inclusiveBounds() throws Exception {
var s = HttpPartSchema.create().applyAll(Content.class,
D03b.class).build();
// With boolean flags set to false, 0 and 100 are included
@@ -913,6 +915,7 @@ class HttpPartSchema_Body_Test extends TestBase {
@Schema(t="integer", exclusiveMaximumValue="100",
exclusiveMinimumValue="0", exclusiveMaximum=false, exclusiveMinimum=false)
public static class D03c {}
+ @SuppressWarnings("removal") // Tests precedence of new numeric style
over deprecated boolean style
@Test void d03c_newStyleTakesPrecedence() throws Exception {
var s = HttpPartSchema.create().applyAll(Content.class,
D03c.class).build();
// New numeric style should take precedence over old boolean
flags
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
index 7830abb567..673a41fa79 100755
---
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
@@ -1508,6 +1508,7 @@ class JsonSchemaGeneratorTest extends TestBase {
// Backward compatibility: Old boolean exclusiveMaximum/exclusiveMinimum
//====================================================================================================
+ @SuppressWarnings("removal") // Tests deprecated boolean-style
exclusiveMaximum/exclusiveMinimum for backward compatibility
@Test void backwardCompatibility_exclusiveMaxMin_boolean() throws
Exception {
var s = JsonSchemaGenerator.DEFAULT.getSession();
var schema = s.getSchema(OldStyleExclusiveBean.class);
@@ -1519,6 +1520,7 @@ class JsonSchemaGeneratorTest extends TestBase {
public int value;
}
+ @SuppressWarnings("removal") // Tests precedence of new numeric style
over deprecated boolean style
@Test void backwardCompatibility_newStyleTakesPrecedence() throws
Exception {
var s = JsonSchemaGenerator.DEFAULT.getSession();
// New numeric style should take precedence in asMap() when
both are set
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SchemaAnnotation_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SchemaAnnotation_Test.java
index 0e7ee86c26..5f3cdc64bb 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SchemaAnnotation_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SchemaAnnotation_Test.java
@@ -256,6 +256,7 @@ class SchemaAnnotation_Test extends TestBase {
uniqueItems=true,
xml="cc"
)
+ @SuppressWarnings("removal")
public static class D1 {}
Schema d1 = D1.class.getAnnotationsByType(Schema.class)[0];
@@ -315,6 +316,7 @@ class SchemaAnnotation_Test extends TestBase {
uniqueItems=true,
xml="cc"
)
+ @SuppressWarnings("removal")
public static class D2 {}
Schema d2 = D2.class.getAnnotationsByType(Schema.class)[0];
@@ -444,6 +446,7 @@ class SchemaAnnotation_Test extends TestBase {
// Backward compatibility: exclusiveMaximum/exclusiveMinimum fallback
//------------------------------------------------------------------------------------------------------------------
+ @SuppressWarnings("removal") // Tests deprecated boolean-style
exclusiveMaximum/exclusiveMinimum for backward compatibility
@Test void f01_backwardCompatibility_exclusiveMaxMin() {
// Test that old boolean exclusiveMaximum/exclusiveMinimum
still work
Schema oldStyle = SchemaAnnotation.create()
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
index 3ea2d77c82..980b5c9903 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
@@ -324,6 +324,7 @@ class RestClient_Config_RestClient_Test extends TestBase {
}
}
+ @SuppressWarnings("removal") // Tests deprecated finalize() method for
leak detection
@Test void a07_leakDetection() throws Throwable {
client().detectLeaks().build(A7.class).finalize();
assertEquals("WARNING: RestClient garbage collected before it
was finalized.",A7.lastMessage);