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 4f3a44d681 SonarQube bug fixes
4f3a44d681 is described below
commit 4f3a44d6810f31d99a39f8cfcd3056f9d0853a74
Author: James Bognar <[email protected]>
AuthorDate: Wed Feb 18 14:27:56 2026 -0500
SonarQube bug fixes
---
.../java/org/apache/juneau/commons/utils/StringUtils.java | 12 +++++++-----
.../java/org/apache/juneau/msgpack/MsgPackOutputStream.java | 3 ++-
.../src/main/java/org/apache/juneau/uon/UonWriter.java | 2 +-
.../src/main/java/org/apache/juneau/xml/XmlUtils.java | 1 +
.../main/java/org/apache/juneau/http/header/HeaderList.java | 3 ++-
.../src/main/java/org/apache/juneau/http/part/PartList.java | 3 ++-
.../src/main/java/org/apache/juneau/rest/RestContext.java | 1 +
7 files changed, 16 insertions(+), 9 deletions(-)
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
index 0d95716bb1..81d89a26f1 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
@@ -4268,6 +4268,7 @@ public class StringUtils {
* @param str The string to count lines in. Can be <jk>null</jk>.
* @return The number of lines, or <c>0</c> if the string is
<jk>null</jk> or empty.
*/
+ @SuppressWarnings("java:S127") // Loop counter advances to skip \r\n as
single line break
public static int lineCount(String str) {
if (isEmpty(str))
return 0;
@@ -4279,9 +4280,8 @@ public class StringUtils {
count++;
} else if (c == '\r') {
// Handle \r\n as a single line break
- if (i + 1 < str.length() && str.charAt(i + 1)
== '\n') {
- i++; // Skip the \n
- }
+ if (i + 1 < str.length() && str.charAt(i + 1)
== '\n')
+ i++;
count++;
}
}
@@ -7486,7 +7486,8 @@ public class StringUtils {
* @return A new string if characters were removed, or the same string
if not or if the input was <jk>null</jk>.
*/
@SuppressWarnings({
- "java:S3776" // Cognitive complexity acceptable for character
unescaping logic
+ "java:S127", // Loop counter advances to skip escape sequences
+ "java:S3776" // Cognitive complexity acceptable for character
unescaping logic
})
public static String unescapeChars(String s, AsciiSet escaped) {
if (s == null || s.isEmpty())
@@ -7681,7 +7682,8 @@ public class StringUtils {
* @return The URL encoded string, or <jk>null</jk> if the object was
null.
*/
@SuppressWarnings({
- "java:S3776" // Cognitive complexity acceptable for URL path
encoding
+ "java:S127", // Loop counter advances variably for surrogate
pairs and multi-byte sequences
+ "java:S3776" // Cognitive complexity acceptable for URL path
encoding
})
public static String urlEncodePath(Object o) {
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 f4953f30f1..9b0a1afdc4 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
@@ -63,6 +63,7 @@ public class MsgPackOutputStream extends OutputStream {
}
}
+ @SuppressWarnings("java:S127") // Loop counter advances for surrogate
pairs
private static int getUtf8ByteLength(CharSequence cs) {
var count = 0;
for (int i = 0, len = cs.length(); i < len; i++) {
@@ -81,7 +82,7 @@ public class MsgPackOutputStream extends OutputStream {
return count;
}
- @SuppressWarnings("java:S1172") // Parameter out is unused but kept for
method signature consistency
+ @SuppressWarnings({"java:S1172", "java:S127"}) // Parameter out unused;
loop counter advances for surrogate pairs
private int writeUtf8To(CharSequence in, OutputStream out) {
var count = 0;
for (int i = 0, len = in.length(); i < len; i++) {
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonWriter.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonWriter.java
index 13a1229bfe..946db490c7 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonWriter.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonWriter.java
@@ -149,7 +149,7 @@ public class UonWriter extends SerializerWriter {
* @param isTopAttrName If this is a top-level attribute name we're
serializing.
* @return This object.
*/
- @SuppressWarnings("java:S3776")
+ @SuppressWarnings({"java:S127", "java:S3776"}) // Loop counter advances
for surrogate pairs
public UonWriter appendObject(Object o, boolean isTopAttrName) {
if (o instanceof Boolean)
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
index c5850887dc..82d2c93e57 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
@@ -105,6 +105,7 @@ public class XmlUtils {
* @param sb The string builder to use as a scratch pad.
* @return The decoded string.
*/
+ @SuppressWarnings("java:S127") // Loop counter advances to skip _xXXXX_
escape sequences
public static String decode(String value, StringBuilder sb) {
if (value == null)
return null;
diff --git
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
index 6cda9962b0..7e9798bd0a 100644
---
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
+++
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
@@ -731,6 +731,7 @@ public class HeaderList extends ControlledArrayList<Header>
{
* @param value The headers to replace. <jk>null</jk> values are
ignored.
* @return This object.
*/
+ @SuppressWarnings("java:S127") // Loop counter j decrements when
removing elements
public HeaderList set(Header value) {
if (nn(value)) {
var replaced = false;
@@ -778,7 +779,7 @@ public class HeaderList extends ControlledArrayList<Header>
{
* @param values The headers to replace. <jk>null</jk> values are
ignored.
* @return This object.
*/
- @SuppressWarnings("java:S3776")
+ @SuppressWarnings({"java:S127", "java:S3776"}) // S127: loop counter j2
decrements when removing
public HeaderList set(List<Header> values) {
if (nn(values)) {
diff --git
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
index 28f19b6f55..9f0ef046f8 100644
---
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
+++
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
@@ -705,7 +705,7 @@ public class PartList extends
ControlledArrayList<NameValuePair> {
* @param values The parts to replace. <jk>null</jk> values are
ignored.
* @return This object.
*/
- @SuppressWarnings("java:S3776")
+ @SuppressWarnings({"java:S127", "java:S3776"}) // S127: loop counter j2
decrements when removing
public PartList set(List<NameValuePair> values) {
if (nn(values)) {
@@ -740,6 +740,7 @@ public class PartList extends
ControlledArrayList<NameValuePair> {
* @param value The part to replace. <jk>null</jk> values are ignored.
* @return This object.
*/
+ @SuppressWarnings("java:S127") // Loop counter j decrements when
removing elements
public PartList set(NameValuePair value) {
if (nn(value)) {
var replaced = false;
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index e8d5219874..5c38f83736 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -6201,6 +6201,7 @@ public class RestContext extends Context {
* @throws BasicHttpException Non-200 response.
* @throws NotImplemented No registered response processors could
handle the call.
*/
+ @SuppressWarnings("java:S127") // Loop counter i resets to -1 on RESTART
protected void processResponse(RestOpSession opSession) throws
IOException, BasicHttpException, NotImplemented {
// Loop until we find the correct processor for the POJO.