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

commit 8e2d054621041aa9d3eac740e2acc6ca4c3c988f
Author: James Bognar <[email protected]>
AuthorDate: Wed Feb 18 09:11:57 2026 -0500

    SonarQube bug fixes
---
 .../juneau/commons/io/CharSequenceReader.java      |  2 -
 .../org/apache/juneau/commons/io/LocalDir.java     |  4 +-
 .../apache/juneau/commons/utils/StringUtils.java   | 11 ++-
 .../main/java/org/apache/juneau/BeanContext.java   |  4 +-
 .../urlencoding/UrlEncodingParserSession.java      |  4 +-
 .../urlencoding/UrlEncodingSerializerSession.java  |  8 +--
 .../juneau/bean/swagger/ui/SwaggerUI_Test.java     | 84 +++-------------------
 .../juneau/commons/inject/BasicBeanStore_Test.java | 35 +++------
 .../apache/juneau/commons/lang/HashCode_Test.java  | 36 ++++++----
 .../apache/juneau/commons/lang/Version_Test.java   | 28 +++-----
 .../juneau/commons/reflect/PackageInfo_Test.java   |  2 +-
 scripts/check-fluent-setter-overrides.py           |  1 +
 12 files changed, 66 insertions(+), 153 deletions(-)

diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/CharSequenceReader.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/CharSequenceReader.java
index 218b5662e0..3e541ef2a7 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/CharSequenceReader.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/CharSequenceReader.java
@@ -126,8 +126,6 @@ public class CharSequenceReader extends BufferedReader {
                this.cs = cs;
                if (cs instanceof String s2)
                        s = s2;
-               else if (cs instanceof StringBuffer sb3)
-                       sb = new StringBuilder(sb3);
                else if (cs instanceof StringBuilder sb4)
                        sb = sb4;
                this.length = cs.length();
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/LocalDir.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/LocalDir.java
index 9f582951e0..79af796bda 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/LocalDir.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/io/LocalDir.java
@@ -102,9 +102,7 @@ public class LocalDir {
                        if (url == null)
                                return false;
                        var uri = url.toURI();
-                       if (uri.toString().startsWith("file:") && 
Files.isDirectory(Paths.get(uri)))
-                               return false;
-                       return true;
+                       return !(uri.toString().startsWith("file:") && 
Files.isDirectory(Paths.get(uri)));
                });
        }
 
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 b81c41e1ab..a19ff475e4 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
@@ -664,7 +664,7 @@ public class StringUtils {
         * @return A negative integer, zero, or a positive integer as the first 
string is less than, equal to, or greater than the second.
         */
        public static int compareIgnoreCase(String str1, String str2) {
-               if (str1 == str2)
+               if (Objects.equals(str1, str2))
                        return 0;
                if (str1 == null)
                        return -1;
@@ -1519,7 +1519,7 @@ public class StringUtils {
         * @see Utils#eqic(String, String)
         */
        public static boolean equalsIgnoreCase(String str1, String str2) {
-               if (str1 == str2)
+               if (Objects.equals(str1, str2))
                        return true;
                if (str1 == null || str2 == null)
                        return false;
@@ -3589,10 +3589,9 @@ public class StringUtils {
                                else
                                        return false;
                        } else if (state == S2) {
-                               if (isLowerCaseLetter(c))
-                                       state = S3;
-                               else
+                               if (! isLowerCaseLetter(c))
                                        return false;
+                               state = S3;
                        } else if (state == S3) {  // NOSONAR - State check 
necessary for state machine
                                if (c == ':')
                                        state = S4;
@@ -4609,7 +4608,7 @@ public class StringUtils {
                "java:S3776" // Cognitive complexity acceptable for natural 
comparison algorithm
        })
        public static int naturalCompare(String str1, String str2) {
-               if (str1 == str2)
+               if (Objects.equals(str1, str2))
                        return 0;
                if (str1 == null)
                        return -1;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index b647839ae1..0a2bf284cb 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -3616,9 +3616,7 @@ public class BeanContext extends Context {
        private static boolean isCacheable(Class<?> c) {
                var n = c.getName();
                var x = n.charAt(n.length() - 1);  // All generated classes 
appear to end with digits.
-               if ((x >= '0' && x <= '9') && (n.indexOf("$$") != -1 || 
n.startsWith("sun") || n.startsWith("com.sun") || n.indexOf("$Proxy") != -1))
-                       return false;
-               return true;
+               return !((x >= '0' && x <= '9') && (n.indexOf("$$") != -1 || 
n.startsWith("sun") || n.startsWith("com.sun") || n.indexOf("$Proxy") != -1));
        }
 
        private final OptionalSupplier<WriterSerializer> beanToStringSerializer;
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 bb311aba02..f9c9a48b84 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
@@ -214,9 +214,7 @@ public class UrlEncodingParserSession extends 
UonParserSession {
         */
        public final boolean shouldUseExpandedParams(BeanPropertyMeta pMeta) {
                var cm = pMeta.getClassMeta().getSerializedClassMeta(this);
-               if (cm.isCollectionOrArray() && (isExpandedParams() || 
getUrlEncodingClassMeta(pMeta.getBeanMeta().getClassMeta()).isExpandedParams()))
-                       return true;
-               return false;
+               return cm.isCollectionOrArray() && (isExpandedParams() || 
getUrlEncodingClassMeta(pMeta.getBeanMeta().getClassMeta()).isExpandedParams());
        }
 
        @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
index a87cb2718c..69f7ab80c4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
@@ -380,9 +380,7 @@ public class UrlEncodingSerializerSession extends 
UonSerializerSession {
         */
        private boolean shouldUseExpandedParams(BeanPropertyMeta pMeta) {
                var cm = pMeta.getClassMeta().getSerializedClassMeta(this);
-               if (cm.isCollectionOrArray() && (isExpandedParams() || 
getUrlEncodingClassMeta(pMeta.getBeanMeta().getClassMeta()).isExpandedParams()))
-                       return true;
-               return false;
+               return cm.isCollectionOrArray() && (isExpandedParams() || 
getUrlEncodingClassMeta(pMeta.getBeanMeta().getClassMeta()).isExpandedParams());
        }
 
        /*
@@ -392,9 +390,7 @@ public class UrlEncodingSerializerSession extends 
UonSerializerSession {
                if (value == null || ! isExpandedParams())
                        return false;
                var cm = 
getClassMetaForObject(value).getSerializedClassMeta(this);
-               if (cm.isCollectionOrArray() && isExpandedParams())
-                       return true;
-               return false;
+               return cm.isCollectionOrArray() && isExpandedParams();
        }
 
        @Override /* Overridden from SerializerSession */
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/bean/swagger/ui/SwaggerUI_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/bean/swagger/ui/SwaggerUI_Test.java
index aa85931f2f..5f50e8262a 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/bean/swagger/ui/SwaggerUI_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/bean/swagger/ui/SwaggerUI_Test.java
@@ -163,59 +163,11 @@ class SwaggerUI_Test extends TestBase {
        }
 
        /**
-        * Test method for empty Swagger document.
+        * Test method for Swagger documents with empty paths.
         */
-       @Test void a07_emptySwaggerDocument() throws Exception {
-               var swagger = swagger()
-                       .setInfo(info("Test API", "1.0.0"))
-                       .setPaths(new HashMap<>());
-
-               assertString(
-                       """
-                       <div class='swagger-ui'>
-                               <style></style>
-                               <script type='text/javascript'><sp/></script>
-                               <table class='header'>
-                                       <tr><th>Version:</th><td>1.0.0</td></tr>
-                               </table>
-                               <div class='tag-block tag-block-open'>
-                                       <div class='tag-block-contents'></div>
-                               </div>
-                       </div>
-                       """.replaceAll("\\n\\s*", ""),
-                       new SwaggerUI().swap(bs, swagger)
-               );
-       }
-
-       /**
-        * Test method for Swagger document with external documentation.
-        */
-       @Test void a08_swaggerWithExternalDocs() throws Exception {
-               var swagger = swagger()
-                       .setInfo(info("Test API", "1.0.0"))
-                       .setPaths(new HashMap<>());
-
-               assertString(
-                       """
-                       <div class='swagger-ui'>
-                               <style></style>
-                               <script type='text/javascript'><sp/></script>
-                               <table class='header'>
-                                       <tr><th>Version:</th><td>1.0.0</td></tr>
-                               </table>
-                               <div class='tag-block tag-block-open'>
-                                       <div class='tag-block-contents'></div>
-                               </div>
-                       </div>
-                       """.replaceAll("\\n\\s*", ""),
-                       new SwaggerUI().swap(bs, swagger)
-               );
-       }
-
-       /**
-        * Test method for Swagger document with security schemes.
-        */
-       @Test void a09_swaggerWithSecuritySchemes() throws Exception {
+       @ParameterizedTest
+       @MethodSource("swaggerWithEmptyPathsTestData")
+       void a07_swaggerWithEmptyPaths(String testName) throws Exception {
                var swagger = swagger()
                        .setInfo(info("Test API", "1.0.0"))
                        .setPaths(new HashMap<>());
@@ -237,28 +189,12 @@ class SwaggerUI_Test extends TestBase {
                );
        }
 
-       /**
-        * Test method for Swagger document with multiple operations.
-        */
-       @Test void a10_swaggerWithMultipleOperations() throws Exception {
-               var swagger = swagger()
-                       .setInfo(info("Test API", "1.0.0"))
-                       .setPaths(new HashMap<>());
-
-               assertString(
-                       """
-                       <div class='swagger-ui'>
-                               <style></style>
-                               <script type='text/javascript'><sp/></script>
-                               <table class='header'>
-                                       <tr><th>Version:</th><td>1.0.0</td></tr>
-                               </table>
-                               <div class='tag-block tag-block-open'>
-                                       <div class='tag-block-contents'></div>
-                               </div>
-                       </div>
-                       """.replaceAll("\\n\\s*", ""),
-                       new SwaggerUI().swap(bs, swagger)
+       static Stream<Arguments> swaggerWithEmptyPathsTestData() {
+               return Stream.of(
+                       Arguments.of("emptySwaggerDocument"),
+                       Arguments.of("swaggerWithExternalDocs"),
+                       Arguments.of("swaggerWithSecuritySchemes"),
+                       Arguments.of("swaggerWithMultipleOperations")
                );
        }
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/commons/inject/BasicBeanStore_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/commons/inject/BasicBeanStore_Test.java
index 7eeca55b27..daa61b5ba1 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/commons/inject/BasicBeanStore_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/commons/inject/BasicBeanStore_Test.java
@@ -336,37 +336,24 @@ class BasicBeanStore_Test extends TestBase {
                assertFalse(result.isPresent());
        }
 
-       @Test
-       void h02_getBean_named_found() {
-               var store = new BasicBeanStore2(null);
-               var bean = new TestBean("test1");
-               store.addBean(TestBean.class, bean, "name1");
-
-               var result = store.getBean(TestBean.class, "name1");
-               assertTrue(result.isPresent());
-               assertSame(bean, result.get());
-       }
-
-       @Test
-       void h03_getBean_named_nullName() {
+       @ParameterizedTest
+       @MethodSource("getBeanNamedTestData")
+       void h02_getBean_named(String name) {
                var store = new BasicBeanStore2(null);
                var bean = new TestBean("test1");
-               store.addBean(TestBean.class, bean, null);
+               store.addBean(TestBean.class, bean, name);
 
-               var result = store.getBean(TestBean.class, null);
+               var result = store.getBean(TestBean.class, name);
                assertTrue(result.isPresent());
                assertSame(bean, result.get());
        }
 
-       @Test
-       void h04_getBean_named_emptyString() {
-               var store = new BasicBeanStore2(null);
-               var bean = new TestBean("test1");
-               store.addBean(TestBean.class, bean, "");
-
-               var result = store.getBean(TestBean.class, "");
-               assertTrue(result.isPresent());
-               assertSame(bean, result.get());
+       static Stream<Arguments> getBeanNamedTestData() {
+               return Stream.of(
+                       Arguments.of("name1"),
+                       Arguments.of((String)null),
+                       Arguments.of("")
+               );
        }
 
        @Test
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/commons/lang/HashCode_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/commons/lang/HashCode_Test.java
index 8b53723928..8e3024abe1 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/commons/lang/HashCode_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/commons/lang/HashCode_Test.java
@@ -45,21 +45,34 @@ class HashCode_Test extends TestBase {
                assertNotSame(hc1, hc2);
        }
 
-       @Test
-       void a02_create_initialHashCode() {
-               var hc = HashCode.create();
-               assertEquals(1, hc.get());
+       @ParameterizedTest
+       @MethodSource("initialHashCodeTestData")
+       void a02_create_initialHashCode(String testName) {
+               int expectedHashCode = 1;
+               if ("create".equals(testName)) {
+                       var hc = HashCode.create();
+                       assertEquals(expectedHashCode, hc.get());
+               } else if ("of_empty".equals(testName)) {
+                       var hashCode = HashCode.of();
+                       assertEquals(expectedHashCode, hashCode);
+               } else if ("get_initialValue".equals(testName)) {
+                       var hc = HashCode.create();
+                       assertEquals(expectedHashCode, hc.get());
+               }
+       }
+
+       static Stream<Arguments> initialHashCodeTestData() {
+               return Stream.of(
+                       Arguments.of("create"),
+                       Arguments.of("of_empty"),
+                       Arguments.of("get_initialValue")
+               );
        }
 
        
//====================================================================================================
        // of(Object...) tests
        
//====================================================================================================
 
-       @Test
-       void b01_of_empty() {
-               var hashCode = HashCode.of();
-               assertEquals(1, hashCode);
-       }
 
        @Test
        void b02_of_singleObject() {
@@ -345,11 +358,6 @@ class HashCode_Test extends TestBase {
        // get() tests
        
//====================================================================================================
 
-       @Test
-       void h01_get_initialValue() {
-               var hc = HashCode.create();
-               assertEquals(1, hc.get());
-       }
 
        @Test
        void h02_get_afterAdd() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/commons/lang/Version_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/commons/lang/Version_Test.java
index 75846fcb05..111fe8f975 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/commons/lang/Version_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/commons/lang/Version_Test.java
@@ -286,26 +286,20 @@ class Version_Test extends TestBase {
                });
        }
 
-       @Test
-       void c09_hashCode_largeVersions() {
-               var v1 = of("1.2.3.4.5.6.7.8.9.10");
-               var v2 = of("1.2.3.4.5.6.7.8.9.10");
-               assertEquals(v1.hashCode(), v2.hashCode());
-       }
-
-       @Test
-       void c10_hashCode_withZeros() {
-               var v1 = of("1.0.0");
-               var v2 = of("1.0.0");
+       @ParameterizedTest
+       @MethodSource("hashCodeConsistencyTestData")
+       void c09_hashCode_consistency(String versionString) {
+               var v1 = of(versionString);
+               var v2 = of(versionString);
                assertEquals(v1.hashCode(), v2.hashCode());
        }
 
-       @Test
-       void c11_hashCode_withMaxValue() {
-               var v1 = of("1.x");
-               var v2 = of("1.x");
-               // Non-numeric parts become Integer.MAX_VALUE
-               assertEquals(v1.hashCode(), v2.hashCode());
+       static Stream<Arguments> hashCodeConsistencyTestData() {
+               return Stream.of(
+                       Arguments.of("1.2.3.4.5.6.7.8.9.10"),
+                       Arguments.of("1.0.0"),
+                       Arguments.of("1.x")
+               );
        }
 
        @Test
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/commons/reflect/PackageInfo_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/commons/reflect/PackageInfo_Test.java
index 595bd585f9..9f55516359 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/commons/reflect/PackageInfo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/commons/reflect/PackageInfo_Test.java
@@ -260,7 +260,7 @@ class PackageInfo_Test extends TestBase {
        @Test
        void a016_isSealed() {
                var pi = PackageInfo.of(TestClass1.class);
-               assertDoesNotThrow(() -> pi.isSealed());
+               
assertDoesNotThrow((org.junit.jupiter.api.function.Executable)pi::isSealed);
                // Most packages are not sealed
        }
 
diff --git a/scripts/check-fluent-setter-overrides.py 
b/scripts/check-fluent-setter-overrides.py
index 065a164a36..5f4ac75ffb 100755
--- a/scripts/check-fluent-setter-overrides.py
+++ b/scripts/check-fluent-setter-overrides.py
@@ -115,6 +115,7 @@ def extract_class_info(file_path):
         
         # Find class declarations (public class X extends Y)
         # NOSONAR: S5843 - Regex complexity acceptable for Java class 
declaration parsing
+        # NOSONAR: python:S5843 - Regex complexity (27) acceptable for Java 
class declaration parsing
         class_pattern = re.compile(
             
r'^\s*public\s+(?:static\s+)?(?:abstract\s+)?class\s+(\w+)(?:\s+extends\s+([\w.<>,
 ]+?))?(?:\s+implements\s+[\w.<>, ]+?)?\s*\{',
             re.MULTILINE

Reply via email to