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 c464cb6e61 SonarQube bug fixes
c464cb6e61 is described below

commit c464cb6e61059f1bfd67e6e95cbc8755c88bb2cb
Author: James Bognar <[email protected]>
AuthorDate: Fri Feb 6 09:50:37 2026 -0500

    SonarQube bug fixes
---
 .../src/main/java/org/apache/juneau/BeanSession.java                | 6 ++----
 .../src/main/java/org/apache/juneau/xml/XmlParserSession.java       | 4 ++--
 .../src/main/java/org/apache/juneau/xml/XmlSerializerSession.java   | 2 +-
 .../main/java/org/apache/juneau/examples/rest/PhotosResource.java   | 3 ++-
 .../java/org/apache/juneau/microservice/resources/LogsResource.java | 2 +-
 .../src/main/java/org/apache/juneau/rest/client/RestRequest.java    | 5 ++++-
 .../src/main/java/org/apache/juneau/rest/servlet/RestServlet.java   | 4 ++--
 .../test/java/org/apache/juneau/commons/reflect/ClassInfo_Test.java | 2 +-
 8 files changed, 15 insertions(+), 13 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index 6c0fc9f453..60f7772ff6 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -243,14 +243,12 @@ public class BeanSession extends ContextSession {
        }
 
        /**
-        * Returns the name property name.
+        * The name property name.
         *
         * <p>
         * Currently this always returns <js>"_name"</js>.
-        *
-        * @return The name property name.  Never <jk>null</jk>.
         */
-       public static final String getNamePropertyName() { return "_name"; }
+       public static final String NAME_PROPERTY_NAME = "_name";
 
        private static int getMultiplier(String s) {
                if (s.endsWith("G"))
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
index 9bc61aec01..1f864fd0b6 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
@@ -272,7 +272,7 @@ public class XmlParserSession extends ReaderParserSession {
         * Any <js>'_x####_'</js> sequences in the string will be decoded.
         */
        private String getNameProperty(XmlReader r) {
-               return decodeString(r.getAttributeValue(null, 
getNamePropertyName()));
+               return decodeString(r.getAttributeValue(null, 
BeanSession.NAME_PROPERTY_NAME));
        }
 
        /*
@@ -372,7 +372,7 @@ public class XmlParserSession extends ReaderParserSession {
        }
 
        private boolean isSpecialAttr(String key) {
-               return key.equals(getBeanTypePropertyName(null)) || 
key.equals(getNamePropertyName());
+               return key.equals(getBeanTypePropertyName(null)) || 
key.equals(BeanSession.NAME_PROPERTY_NAME);
        }
 
        @SuppressWarnings({ "null", "java:S3776", "java:S6541" })
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
index d949ed67df..562f663d7a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
@@ -926,7 +926,7 @@ public class XmlSerializerSession extends 
WriterSerializerSession {
                                                out.attr(dns, 
getBeanTypePropertyName(eType), type);
                                }
                                if (nn(name))
-                                       out.attr(getNamePropertyName(), name);
+                                       
out.attr(BeanSession.NAME_PROPERTY_NAME, name);
                        } else {
                                out.i(i);
                        }
diff --git 
a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PhotosResource.java
 
b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PhotosResource.java
index 33466814da..6ead564468 100644
--- 
a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PhotosResource.java
+++ 
b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PhotosResource.java
@@ -19,6 +19,7 @@ package org.apache.juneau.examples.rest;
 import java.awt.image.*;
 import java.net.*;
 import java.util.*;
+import java.util.concurrent.*;
 
 import org.apache.juneau.examples.parser.*;
 import org.apache.juneau.examples.serializer.*;
@@ -97,7 +98,7 @@ public class PhotosResource extends BasicRestServlet {
        private static final long serialVersionUID = 1L;
 
        // Our cache of photos
-       private transient Map<Integer,Photo> photos = new TreeMap<>();
+       private transient Map<Integer,Photo> photos = new ConcurrentHashMap<>();
 
        /**
         * [HTTP PUT /photos/{id}]
diff --git 
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
 
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
index 7e86953ea6..fcd80340a4 100644
--- 
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
+++ 
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
@@ -48,7 +48,7 @@ import org.apache.juneau.rest.servlet.*;
        allowedMethodParams="*"
 )
 @HtmlConfig(uriAnchorText="PROPERTY_NAME")
-@SuppressWarnings("javadoc")
+@SuppressWarnings({ "javadoc", "java:S2386" }) // S2386: Fields logDir, 
leFormatter, and allowDeletes are effectively final after @RestInit 
initialization
 public class LogsResource extends BasicRestServlet {
        @Response(schema = @Schema(description = "File action"))
        public static class Action extends LinkString {
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
index 9a27da6085..6229fd1ed1 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
@@ -116,6 +116,9 @@ public class RestRequest extends BeanSession implements 
HttpUriRequest, Configur
        private static final String ARG_value = "value";
        private static final String ARG_interceptors = "interceptors";
 
+       // URI path separator (always "/" per RFC 3986)
+       private static final String URI_PATH_SEPARATOR = "/";
+
        private class SimpleFormData extends SimplePart {
                SimpleFormData(NameValuePair x) {
                        super(x, client.isSkipEmptyFormData());
@@ -1907,7 +1910,7 @@ public class RestRequest extends BeanSession implements 
HttpUriRequest, Configur
                                if (path.indexOf(pathVar) == -1 && ! 
name.equals("/*"))
                                        throw new IllegalStateException("Path 
variable {" + name + "} was not found in path.");
                                if (name.equals("/*"))
-                                       path = path.replaceAll("\\/\\*$", "/" + 
value);
+                                       path = path.replaceAll("\\/\\*$", 
URI_PATH_SEPARATOR + value);
                                else
                                        path = path.replace(pathVar, 
String.valueOf(value));
                                uriBuilder.setPath(path);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
index a51c3feaf8..c8f3a7ffc5 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
@@ -73,8 +73,8 @@ public abstract class RestServlet extends HttpServlet {
        // Error message constants
        private static final String MSG_servletInitError = "Servlet init error 
on class ''{0}''";
 
-       private AtomicReference<RestContext> context = new AtomicReference<>();
-       private AtomicReference<Exception> initException = new 
AtomicReference<>();
+       private final AtomicReference<RestContext> context = new 
AtomicReference<>();
+       private final AtomicReference<Exception> initException = new 
AtomicReference<>();
 
        @Override /* Overridden from GenericServlet */
        public synchronized void destroy() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/commons/reflect/ClassInfo_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/commons/reflect/ClassInfo_Test.java
index d1242c5d3d..602af8b0ad 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/commons/reflect/ClassInfo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/commons/reflect/ClassInfo_Test.java
@@ -40,7 +40,7 @@ import org.apache.juneau.commons.lang.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
 
-@SuppressWarnings({ "java:S3008", "java:S5961", "java:S1186", "java:S1172" }) 
// Unused parameters in tests are typically intentional
+@SuppressWarnings({ "java:S3008", "java:S5961", "java:S1186", "java:S1172", 
"java:S1854" }) // Unused parameters in tests are typically intentional. S1854: 
Must create anonymous class instances (new Object() {}) to test anonymous class 
behavior, cannot use Object.class
 public class ClassInfo_Test extends TestBase {
 
        @Documented

Reply via email to