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 694a245ae9 SonarQube bug fixes
694a245ae9 is described below
commit 694a245ae9016acce5f990e763953f91f1e4afe9
Author: James Bognar <[email protected]>
AuthorDate: Thu Feb 5 11:08:22 2026 -0500
SonarQube bug fixes
---
.../main/java/org/apache/juneau/commons/utils/StringUtils.java | 10 ++++++----
.../main/java/org/apache/juneau/json/JsonParserSession.java | 8 ++++----
.../main/java/org/apache/juneau/svl/VarResolverSession.java | 7 ++++++-
.../apache/juneau/urlencoding/UrlEncodingParserSession.java | 2 +-
.../java/org/apache/juneau/utils/StringExpressionMatcher.java | 2 +-
.../juneau/microservice/resources/LogEntryFormatter.java | 2 +-
.../main/java/org/apache/juneau/rest/guard/RoleMatcher.java | 2 +-
.../src/main/java/org/apache/juneau/rest/util/RestUtils.java | 2 +-
8 files changed, 21 insertions(+), 14 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 05d30a1e89..664f1cf7fa 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
@@ -2399,7 +2399,8 @@ public class StringUtils {
state = S3;
else if (! isLowerCaseLetter(c))
return s;
- } else if (state == S3) {
+ // else: continue in S2 (lowercase letter)
+ } else if (state == S3) { // NOSONAR - State check
necessary for state machine
if (c == '/')
state = S4;
else
@@ -2899,7 +2900,7 @@ public class StringUtils {
state = S3;
else if (! isLowerCaseLetter(c))
return false;
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State check
necessary for state machine
if (c == '/')
state = S4;
else
@@ -3563,7 +3564,7 @@ public class StringUtils {
state = S3;
else
return false;
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State check
necessary for state machine
if (c == ':')
state = S4;
else if (! isLowerCaseLetter(c))
@@ -6739,7 +6740,8 @@ public class StringUtils {
} else if (state == S2 || state == S3) {
if (c == '\\') {
isInEscape = ! isInEscape;
- needsUnescape = ! keepQuotes;
+ if (isInEscape)
+ needsUnescape = ! keepQuotes;
} else if (! isInEscape) {
if (c == (state == S2 ? '\'' : '"')) {
var s2 = s.substring(mark,
keepQuotes ? i + 1 : i);
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 c5d4da3e57..ccc523e28b 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
@@ -392,7 +392,7 @@ public class JsonParserSession extends ReaderParserSession {
currAttr = parseFieldName(r);
state = S3;
}
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State
check necessary for state machine
if (c == ':')
state = S4;
} else if (state == S4) {
@@ -478,7 +478,7 @@ public class JsonParserSession extends ReaderParserSession {
l.add((E)parseAnything(type.isArgs() ?
type.getArg(argIndex++) : type.getElementType(), r.unread(), l, pMeta));
state = S3;
}
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State check
necessary for state machine
if (c == ',') {
state = S4;
} else if (isCommentOrWhitespace(c)) {
@@ -544,7 +544,7 @@ public class JsonParserSession extends ReaderParserSession {
currAttr = parseFieldName(r.unread());
state = S3;
}
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State check
necessary for state machine
if (c == ':')
state = S4;
} else if (state == S4) {
@@ -838,7 +838,7 @@ public class JsonParserSession extends ReaderParserSession {
throw new ParseException(this,
"Expected to find wrapper attribute ''{0}'' but found attribute ''{1}''",
wrapperAttr, currAttr);
state = S3;
}
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State check
necessary for state machine
if (c == ':')
state = S4;
} else if (state == S4) {
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 32190c6c64..efaefb2a22 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
@@ -112,7 +112,7 @@ public class VarResolverSession {
} else if (c < 'A' || c > 'z' || (c > 'Z' && c
< 'a')) { // False trigger "$X "
return false;
}
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State check
necessary for state machine
if (c == '}')
state = S4;
else if (c == '{' || c == '$')
@@ -354,6 +354,7 @@ public class VarResolverSession {
} else if (c == '$') {
x = i;
x2 = i;
+ hasInnerEscapes = false;
state = S2;
} else {
out.append(c);
@@ -367,6 +368,10 @@ public class VarResolverSession {
} else if (c == '{') {
varType = s.substring(x + 1, i);
x = i;
+ isInEscape = false;
+ depth = 0;
+ hasInnerEscapes = false;
+ hasInternalVar = false;
state = S3;
} else if (c < 'A' || c > 'z' || (c > 'Z' && c
< 'a')) { // False trigger "$X "
if (hasInnerEscapes)
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 1dfb4ad8c8..4f02d7b9a0 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
@@ -331,7 +331,7 @@ public class UrlEncodingParserSession extends
UonParserSession {
return m;
state = S1;
}
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR -
State check necessary for state machine
if (c == -1 || c == '\u0001') {
if (!
currAttr.equals(getBeanTypePropertyName(m.getClassMeta()))) {
var pMeta =
m.getPropertyMeta(currAttr);
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 76ac8846be..dc6c602a95 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
@@ -296,7 +296,7 @@ public class StringExpressionMatcher {
break;
}
}
- } else if (state == S5) {
+ } else if (state == S5) { // NOSONAR - State check
necessary for state machine
// S5 = Found & or | or ,.
if (c == '&') {
//ands.add(operand);
diff --git
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogEntryFormatter.java
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogEntryFormatter.java
index ef1fa6171e..acd2ecb91b 100644
---
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogEntryFormatter.java
+++
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogEntryFormatter.java
@@ -138,7 +138,7 @@ public class LogEntryFormatter extends Formatter {
re.append("\\%").append(c);
state = S1;
}
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State check
necessary for state machine
if (c == '$') {
state = S4;
} else {
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 7a1f2669c9..3f90350fad 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
@@ -307,7 +307,7 @@ public class RoleMatcher {
break;
}
}
- } else if (state == S5) {
+ } else if (state == S5) { // NOSONAR - State check
necessary for state machine
// S5 = Found & or | or ,.
if (c == '&') {
//ands.add(operand);
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/RestUtils.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/RestUtils.java
index 524a43cc03..44b7f5cd19 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/RestUtils.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/RestUtils.java
@@ -254,7 +254,7 @@ public class RestUtils {
currAttr = r.getMarked(0, -1);
state = S3;
}
- } else if (state == S3) {
+ } else if (state == S3) { // NOSONAR - State
check necessary for state machine
if (c == -1 || c == '\u0001') {
add(m, currAttr, "");
state = S1;