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 ba4c481dcc SonarQube bug fixes
ba4c481dcc is described below
commit ba4c481dcc98d2b2e1da87ddfccdefd0af66c93d
Author: James Bognar <[email protected]>
AuthorDate: Wed Feb 18 10:31:32 2026 -0500
SonarQube bug fixes
---
.../apache/juneau/commons/lang/StringFormat.java | 2 +-
.../apache/juneau/csv/CsvSerializerSession.java | 5 -----
.../org/apache/juneau/json/JsonParserSession.java | 1 +
.../apache/juneau/msgpack/MsgPackOutputStream.java | 25 +++++++++++-----------
.../org/apache/juneau/svl/VarResolverSession.java | 5 +++--
.../java/org/apache/juneau/swap/BuilderSwap.java | 8 +++----
.../java/org/apache/juneau/swap/SurrogateSwap.java | 4 ++--
.../org/apache/juneau/uon/UonParserSession.java | 2 +-
.../urlencoding/UrlEncodingParserSession.java | 1 +
.../juneau/utils/StringExpressionMatcher.java | 8 +++----
.../examples/core/json/JsonSimpleExample.java | 7 +-----
.../java/org/apache/juneau/rest/RestChild.java | 3 +--
.../org/apache/juneau/rest/guard/RoleMatcher.java | 10 ++++-----
.../juneau/json/JsonParserEdgeCases_Test.java | 1 +
14 files changed, 38 insertions(+), 44 deletions(-)
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/lang/StringFormat.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/lang/StringFormat.java
index 9fda787b78..8084f09e12 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/lang/StringFormat.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/lang/StringFormat.java
@@ -517,7 +517,7 @@ public final class StringFormat {
/**
* Parses the pattern into a list of tokens.
*/
- @SuppressWarnings({ "java:S3776", "java:S6541" })
+ @SuppressWarnings({ "java:S125", "java:S3776", "java:S6541" }) //
S125: state-machine/docs comments
private static List<Token> parseTokens(String pattern) {
var tokens = new ArrayList<Token>();
var length = pattern.length();
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
index 35c543e60a..60d485de88 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
@@ -253,11 +253,6 @@ public class CsvSerializerSession extends
WriterSerializerSession {
addComma.ifSet(() ->
w.w(',')).set();
w.writeEntry(x.getName());
});
-
-//
bm.forEachProperty(BeanPropertyMeta::canRead, x -> {
-// addComma.ifSet(() ->
w.w(',')).set();
-// w.writeEntry(x.getName());
-// });
w.append('\n');
l.forEach(x -> {
var addComma2 = Flag.create();
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
index fc0b8b99a6..8d7c207601 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
@@ -49,6 +49,7 @@ import org.apache.juneau.swap.*;
* </ul>
*/
@SuppressWarnings({
+ "java:S125", // State-machine and parse-path comments (S1: ..., Let o
be null) are documentation, not commented-out code
"unchecked", // Type erasure requires unchecked casts
"rawtypes", // Raw types necessary for generic type handling
"resource" // ParserReader is managed by caller
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java
index 666cd7670e..f4953f30f1 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java
@@ -267,19 +267,20 @@ public class MsgPackOutputStream extends OutputStream {
/**
* Appends an integer to the stream.
*/
+ @SuppressWarnings("java:S125") // MsgPack format type byte reference -
documentation, not commented-out code
MsgPackOutputStream appendInt(int i) {
- // POSFIXINT_L = 0x00, // pos fixint 0xxxxxxx 0x00
- 0x7f
- // POSFIXINT_U = 0x7F,
- // UINT8 = 0xCC, // uint 8 11001100 0xcc
- // UINT16 = 0xCD, // uint 16 11001101 0xcd
- // UINT32 = 0xCE, // uint 32 11001110 0xce
- // UINT64 = 0xCF, // uint 64 11001111 0xcf
- // INT8 = 0xD0, // int 8 11010000 0xd0
- // INT16 = 0xD1, // int 16 11010001 0xd1
- // INT32 = 0xD2, // int 32 11010010 0xd2
- // INT64 = 0xD3, // int 64 11010011 0xd3
- // NEGFIXINT_L = 0xE0, // neg fixint 111xxxxx 0xe0
- 0xff
- // NEGFIXINT_U = 0xFF;
+ // POSFIXINT_L = 0x00, pos fixint 0xxxxxxx 0x00 - 0x7f
+ // POSFIXINT_U = 0x7F
+ // UINT8 = 0xCC uint 8 11001100 0xcc
+ // UINT16 = 0xCD uint 16 11001101 0xcd
+ // UINT32 = 0xCE uint 32 11001110 0xce
+ // UINT64 = 0xCF uint 64 11001111 0xcf
+ // INT8 = 0xD0 int 8 11010000 0xd0
+ // INT16 = 0xD1 int 16 11010001 0xd1
+ // INT32 = 0xD2 int 32 11010010 0xd2
+ // INT64 = 0xD3 int 64 11010011 0xd3
+ // NEGFIXINT_L = 0xE0 neg fixint 111xxxxx 0xe0 - 0xff
+ // NEGFIXINT_U = 0xFF
if (i >= 0) {
if (i < (1 << 7))
return append1(i);
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 2d8e57d783..bcdeb58da9 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
@@ -95,7 +95,8 @@ public class VarResolverSession {
* This is a common case, and we can avoid using StringWriters.
*/
@SuppressWarnings({
- "java:S3776" // Cognitive complexity acceptable for variable
resolution state machine
+ "java:S125", // State-machine comments (S1: ..., S2: ...)
+ "java:S3776" // Cognitive complexity acceptable for
variable resolution state machine
})
private static boolean isSimpleVar(String s) {
// S1: Not in variable, looking for $
@@ -331,7 +332,7 @@ public class VarResolverSession {
* @return The same writer.
* @throws IOException Thrown by underlying stream.
*/
- @SuppressWarnings({"java:S6541", "java:S3776", "java:S2583"}) // State
variables persist across loop iterations
+ @SuppressWarnings({"java:S125", "java:S2583", "java:S6541",
"java:S3776"}) // S125: state-machine comments
public Writer resolveTo(String s, Writer out) throws IOException {
// S1: Not in variable, looking for $
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
index 49780b90d5..333851e5d9 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
@@ -176,13 +176,13 @@ public class BuilderSwap<T,B> {
private final Class<T> objectClass;
private final Class<B> builderClass;
- private final Constructor<T> objectConstructor; // public
Pojo(Builder);
+ private final Constructor<T> objectConstructor;
- private final Constructor<B> builderConstructor; // protected
Builder();
+ private final Constructor<B> builderConstructor;
- private final MethodInfo createBuilderMethod; // Builder
create();
+ private final MethodInfo createBuilderMethod;
- private final MethodInfo createObjectMethod; // Pojo
build();
+ private final MethodInfo createObjectMethod;
private ClassMeta<?> builderClassMeta;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/SurrogateSwap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/SurrogateSwap.java
index 71b55d5ecf..c74436a27b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/SurrogateSwap.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/SurrogateSwap.java
@@ -66,9 +66,9 @@ public class SurrogateSwap<T,F> extends ObjectSwap<T,F> {
return l;
}
- private Constructor<F> constructor; // public F(T t);
+ private Constructor<F> constructor;
- private Method unswapMethod; // public T build();
+ private Method unswapMethod;
/**
* Constructor.
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 a487968f61..735195bb94 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,7 @@ import org.apache.juneau.swap.*;
* </ul>
*/
-@SuppressWarnings({ "unchecked", "rawtypes", "resource", "java:S115" }) //
Constants use UPPER_snakeCase convention (e.g., PROP_decoding)
+@SuppressWarnings({ "java:S125", "java:S115", "rawtypes", "resource",
"unchecked" }) // S125: state-machine comments
public class UonParserSession extends ReaderParserSession implements
HttpPartParserSession {
// Property name constants
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 8b16294ef8..49f32404a9 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
@@ -303,6 +303,7 @@ public class UrlEncodingParserSession extends
UonParserSession {
@SuppressWarnings({
"java:S1168", // TODO: null when currAttr is '%00'. Parser
state machine.
"java:S1213", // Method name matches private method in
parent class by design
+ "java:S125", // State-machine comments (S1: ..., S2: ...)
"java:S3776",
"java:S6541"
})
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/StringExpressionMatcher.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/StringExpressionMatcher.java
index 0ad4f73801..317d4a387d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/StringExpressionMatcher.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/StringExpressionMatcher.java
@@ -228,8 +228,9 @@ public class StringExpressionMatcher {
}
@SuppressWarnings({
- "java:S3776", // Cognitive complexity acceptable for parser
state machine
- "java:S135" // Multiple break statements necessary for state
machine error handling
+ "java:S125", // Inline /*...*/ documents implicit else
condition
+ "java:S135", // Multiple break statements necessary for
state machine error handling
+ "java:S3776" // Cognitive complexity acceptable for parser
state machine
})
private Exp parse(String expression) throws ParseException {
if (b(expression))
@@ -300,9 +301,8 @@ public class StringExpressionMatcher {
}
}
} else if (state == S5) { // NOSONAR - State check
necessary for state machine
- // S5 = Found & or | or ,.
+ // S5 = Found & or | or ,
if (c == '&') {
- //ands.add(operand);
state = S6;
} else /* (c == '|' || c == ',') */ {
if (ands.size() == 1) {
diff --git
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonSimpleExample.java
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonSimpleExample.java
index 4c48e229ee..1edbdd9956 100644
---
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonSimpleExample.java
+++
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonSimpleExample.java
@@ -38,12 +38,9 @@ public class JsonSimpleExample {
* @param args Unused.
* @throws Exception Unused.
*/
- @SuppressWarnings({ "unused", "rawtypes" })
+ @SuppressWarnings({ "java:S125", "rawtypes", "unused" }) // S125:
example output comments document expected output
public static void main(String[] args) throws Exception {
// Juneau provides static constants with the most commonly used
configurations
- // Get a reference to a serializer - converting POJO to flat
format
- // Produces
- // {"name":"name","id":"id"}
var jsonSerializer = JsonSerializer.DEFAULT;
// Get a reference to a parser - converts that flat format back
into the POJO
var jsonParser = JsonParser.DEFAULT;
@@ -59,8 +56,6 @@ public class JsonSimpleExample {
assert parse.getId().equals(pojo.getId());
assert parse.getName().equals(pojo.getName());
- // Produces
- // {name:'name',id:'id'}
var json5 = Json5Serializer.DEFAULT.serialize(pojo);
Logger.getLogger(JsonSimpleExample.class).info(json5);
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChild.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChild.java
index 8568a800ed..dc9f615188 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChild.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChild.java
@@ -42,7 +42,6 @@ import org.apache.juneau.cp.*;
*/
public class RestChild {
- // final UrlPathPattern path;
final String path;
final Object resource;
@@ -55,7 +54,7 @@ public class RestChild {
* <br>Can either be a Class (which will be instantiated using the
registered {@link BasicBeanStore})
* or an already-instantiated object.
*/
- public RestChild(/*UrlPathPattern path, */ String path, Object
resource) {
+ public RestChild(String path, Object resource) {
this.path = path;
this.resource = resource;
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RoleMatcher.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RoleMatcher.java
index f0de4833d1..e632460ef6 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RoleMatcher.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RoleMatcher.java
@@ -239,9 +239,10 @@ public class RoleMatcher {
}
@SuppressWarnings({
- "java:S6541", // Thread-safe singleton pattern acceptable
- "java:S3776", // Cognitive complexity acceptable for parser
state machine
- "java:S135" // Multiple break statements necessary for state
machine error handling
+ "java:S125", // Inline /*...*/ documents implicit else
condition
+ "java:S135", // Multiple break statements necessary for
state machine error handling
+ "java:S3776", // Cognitive complexity acceptable for parser
state machine
+ "java:S6541" // Thread-safe singleton pattern acceptable
})
private Exp parse(String expression) throws ParseException {
if (StringUtils.isBlank(expression))
@@ -312,9 +313,8 @@ public class RoleMatcher {
}
}
} else if (state == S5) { // NOSONAR - State check
necessary for state machine
- // S5 = Found & or | or ,.
+ // S5 = Found & or | or ,
if (c == '&') {
- //ands.add(operand);
state = S6;
} else /* (c == '|' || c == ',') */ {
if (ands.size() == 1) {
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/json/JsonParserEdgeCases_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/json/JsonParserEdgeCases_Test.java
index d9544ed098..f67f994081 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/json/JsonParserEdgeCases_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/json/JsonParserEdgeCases_Test.java
@@ -28,6 +28,7 @@ import org.apache.juneau.parser.*;
import org.junit.jupiter.params.*;
import org.junit.jupiter.params.provider.*;
+@SuppressWarnings("java:S125") // Inline /*...*/ in INPUTS documents
hex-to-JSON for test data; not commented-out code
class JsonParserEdgeCases_Test extends TestBase {
private static final Input[] INPUTS = {