This is an automated email from the ASF dual-hosted git repository.

weichiu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 69d65219ec6 HDDS-12379. Fix spotbugs warnings in TestRadixTree (#8968)
69d65219ec6 is described below

commit 69d65219ec61c1ce9b09efd2e47d45b03959a414
Author: Neo Chien <cchung1...@cs.ccu.edu.tw>
AuthorDate: Fri Sep 5 13:26:36 2025 +0800

    HDDS-12379. Fix spotbugs warnings in TestRadixTree (#8968)
---
 .../common/dev-support/findbugsExcludeFile.xml     |  4 -
 .../apache/hadoop/ozone/util/TestRadixTree.java    | 97 +++++++++++++---------
 2 files changed, 60 insertions(+), 41 deletions(-)

diff --git a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml 
b/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
index 5c54f72ffab..0e32b4109fd 100644
--- a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
@@ -25,10 +25,6 @@
     <Class name="org.apache.hadoop.ozone.security.TestGDPRSymmetricKey"/>
     <Bug pattern="DLS_DEAD_LOCAL_STORE" />
   </Match>
-  <Match>
-    <Class name="org.apache.hadoop.ozone.util.TestRadixTree"/>
-    <Bug pattern="DMI_HARDCODED_ABSOLUTE_FILENAME" />
-  </Match>
   <Match>
     <Class name="org.apache.hadoop.ozone.om.lock.TestOzoneManagerLock"/>
     <Bug pattern="IMSE_DONT_CATCH_IMSE" />
diff --git 
a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/util/TestRadixTree.java
 
b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/util/TestRadixTree.java
index 9a3071d754b..316ae6db80e 100644
--- 
a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/util/TestRadixTree.java
+++ 
b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/util/TestRadixTree.java
@@ -21,6 +21,8 @@
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.List;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -31,14 +33,19 @@
 public class TestRadixTree {
 
   static final RadixTree<Integer> ROOT = new RadixTree<>();
+  static final String BASE_PATH = "a";
+  static final Path PATH_B = Paths.get(BASE_PATH, "b");
+  static final Path PATH_BC = Paths.get(BASE_PATH, "b", "c");
+  static final Path PATH_BCD = Paths.get(BASE_PATH, "b", "c", "d");
+  static final Path PATH_BCDGH = Paths.get(BASE_PATH, "b", "c", "d", "g", "h");
 
   @BeforeAll
   public static void setupRadixTree() {
     // Test prefix paths with an empty tree
     assertTrue(ROOT.isEmpty());
-    assertEquals("/", ROOT.getLongestPrefix("/a/b/c"));
+    assertEquals("/", ROOT.getLongestPrefix(Paths.get(BASE_PATH, "b", 
"c").toString()));
     assertEquals("/", RadixTree.radixPathToString(
-        ROOT.getLongestPrefixPath("/a/g")));
+        ROOT.getLongestPrefixPath(Paths.get(BASE_PATH, "g").toString())));
     // Build Radix tree below for testing.
     //                a
     //                |
@@ -51,12 +58,12 @@ public static void setupRadixTree() {
     //          g
     //          |
     //          h
-    ROOT.insert("/a/b/c/d");
-    ROOT.insert("/a/b/c/d/g/h");
-    ROOT.insert("/a/b/c/f");
-    ROOT.insert("/a/b/e/g");
-    ROOT.insert("/a/b/e/dir1");
-    ROOT.insert("/a/b/e/dir2", 1000);
+    ROOT.insert(Paths.get(BASE_PATH, "b", "c", "d").toString());
+    ROOT.insert(Paths.get(BASE_PATH, "b", "c", "d", "g", "h").toString());
+    ROOT.insert(Paths.get(BASE_PATH, "b", "c", "f").toString());
+    ROOT.insert(Paths.get(BASE_PATH, "b", "e", "g").toString());
+    ROOT.insert(Paths.get(BASE_PATH, "b", "e", "dir1").toString());
+    ROOT.insert(Paths.get(BASE_PATH, "b", "e", "dir2").toString(), 1000);
   }
 
   /**
@@ -64,62 +71,78 @@ public static void setupRadixTree() {
    */
   @Test
   public  void testGetLongestPrefix() {
-    assertEquals("/a/b/c", ROOT.getLongestPrefix("/a/b/c"));
-    assertEquals("/a/b", ROOT.getLongestPrefix("/a/b"));
-    assertEquals("/a", ROOT.getLongestPrefix("/a"));
-    assertEquals("/a/b/e/g", ROOT.getLongestPrefix("/a/b/e/g/h"));
-
-    assertEquals("/", ROOT.getLongestPrefix("/d/b/c"));
-    assertEquals("/a/b/e", ROOT.getLongestPrefix("/a/b/e/dir3"));
-    assertEquals("/a/b/c/d", ROOT.getLongestPrefix("/a/b/c/d/p"));
-
-    assertEquals("/a/b/c/f", ROOT.getLongestPrefix("/a/b/c/f/p"));
+    assertEquals("/" + PATH_BC.toString(), 
ROOT.getLongestPrefix(PATH_BC.toString()));
+    assertEquals("/" + PATH_B.toString(), 
ROOT.getLongestPrefix(PATH_B.toString()));
+    assertEquals("/" + BASE_PATH, ROOT.getLongestPrefix(BASE_PATH));
+    assertEquals("/" + Paths.get(BASE_PATH, "b", "e", "g").toString(),
+        ROOT.getLongestPrefix(
+            Paths.get(BASE_PATH, "b", "e", "g", "h").toString()
+        )
+    );
+
+    assertEquals("/", ROOT.getLongestPrefix("d/b/c"));
+    assertEquals("/" + Paths.get(BASE_PATH, "b", "e").toString(),
+        ROOT.getLongestPrefix(
+            Paths.get(BASE_PATH, "b", "e", "dir3").toString()
+        )
+    );
+    assertEquals("/" + PATH_BCD.toString(),
+        ROOT.getLongestPrefix(
+            Paths.get(BASE_PATH, "b", "c", "d", "p").toString()
+        )
+    );
+
+    assertEquals("/" + Paths.get(BASE_PATH, "b", "c", "f").toString(),
+        ROOT.getLongestPrefix(
+            Paths.get(BASE_PATH, "b", "c", "f", "p").toString()
+        )
+    );
   }
 
   @Test
   public void testGetLongestPrefixPath() {
-    List<RadixNode<Integer>> lpp =
-        ROOT.getLongestPrefixPath("/a/b/c/d/g/p");
+    List<RadixNode<Integer>> lpp = ROOT.getLongestPrefixPath(
+        "/" + Paths.get(BASE_PATH, "b", "c", "d", "g", "p").toString()
+    );
     RadixNode<Integer> lpn = lpp.get(lpp.size() - 1);
     assertEquals("g", lpn.getName());
     lpn.setValue(100);
 
-    List<RadixNode<Integer>> lpq =
-        ROOT.getLongestPrefixPath("/a/b/c/d/g/q");
+    List<RadixNode<Integer>> lpq = ROOT.getLongestPrefixPath(
+        "/" + Paths.get(BASE_PATH, "b", "c", "d", "g", "q").toString()
+    );
     RadixNode<Integer> lqn = lpp.get(lpq.size() - 1);
     System.out.print(RadixTree.radixPathToString(lpq));
     assertEquals(lpn, lqn);
     assertEquals("g", lqn.getName());
     assertEquals(100, (int)lqn.getValue());
 
-    assertEquals("/a/", RadixTree.radixPathToString(
-        ROOT.getLongestPrefixPath("/a/g")));
-
+    assertEquals("/" + BASE_PATH + "/", RadixTree.radixPathToString(
+        ROOT.getLongestPrefixPath(Paths.get(BASE_PATH, "g").toString())));
   }
 
   @Test
   public void testGetLastNoeInPrefixPath() {
-    assertNull(ROOT.getLastNodeInPrefixPath("/a/g"));
-    RadixNode<Integer> ln = ROOT.getLastNodeInPrefixPath("/a/b/e/dir1");
+    assertNull(ROOT.getLastNodeInPrefixPath("/" + Paths.get(BASE_PATH, 
"g").toString()));
+    RadixNode<Integer> ln = ROOT.getLastNodeInPrefixPath("/" + 
Paths.get(BASE_PATH, "b", "e", "dir1").toString());
     assertEquals("dir1", ln.getName());
   }
 
   @Test
   public void testRemovePrefixPath() {
-
     // Remove, test and restore
     // Remove partially overlapped path
-    ROOT.removePrefixPath("/a/b/c/d/g/h");
-    assertEquals("/a/b/c", ROOT.getLongestPrefix("a/b/c/d"));
-    ROOT.insert("/a/b/c/d/g/h");
+    ROOT.removePrefixPath(PATH_BCDGH.toString());
+    assertEquals("/" + PATH_BC.toString(), 
ROOT.getLongestPrefix(PATH_BCD.toString()));
+    ROOT.insert(PATH_BCDGH.toString());
 
     // Remove fully overlapped path
-    ROOT.removePrefixPath("/a/b/c/d");
-    assertEquals("/a/b/c/d", ROOT.getLongestPrefix("a/b/c/d"));
-    ROOT.insert("/a/b/c/d");
+    ROOT.removePrefixPath(PATH_BCD.toString());
+    assertEquals("/" + PATH_BCD.toString(), 
ROOT.getLongestPrefix(PATH_BCD.toString()));
+    ROOT.insert(PATH_BCD.toString());
 
-    // Remove non existing path
-    ROOT.removePrefixPath("/d/a");
-    assertEquals("/a/b/c/d", ROOT.getLongestPrefix("a/b/c/d"));
+    // Remove non-existing path
+    ROOT.removePrefixPath("d/a");
+    assertEquals("/" + PATH_BCD.toString(), 
ROOT.getLongestPrefix(PATH_BCD.toString()));
   }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@ozone.apache.org
For additional commands, e-mail: commits-h...@ozone.apache.org

Reply via email to