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

cziegeler pushed a commit to branch SLING-12757
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-api.git


The following commit(s) were added to refs/heads/SLING-12757 by this push:
     new 4625f5a  SLING-12757 : AbstractResource.getName() can throw exceptions
4625f5a is described below

commit 4625f5aafe6dbac58439311e9d8363c9073bb41e
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Thu Apr 24 07:55:53 2025 +0200

    SLING-12757 : AbstractResource.getName() can throw exceptions
---
 src/main/java/org/apache/sling/api/resource/AbstractResource.java  | 7 ++++++-
 .../org/apache/sling/api/resource/NonExistingResourceTest.java     | 7 +++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/sling/api/resource/AbstractResource.java 
b/src/main/java/org/apache/sling/api/resource/AbstractResource.java
index e016c68..8a61da2 100644
--- a/src/main/java/org/apache/sling/api/resource/AbstractResource.java
+++ b/src/main/java/org/apache/sling/api/resource/AbstractResource.java
@@ -48,7 +48,12 @@ public abstract class AbstractResource extends 
SlingAdaptable implements Resourc
      * resource.
      */
     public String getName() {
-        return ResourceUtil.getName(getPath());
+        try {
+            return ResourceUtil.getName(getPath());
+        } catch (final IllegalArgumentException e) {
+            // this happens if the path is invald
+            return "<INVALID>";
+        }
     }
 
     /**
diff --git 
a/src/test/java/org/apache/sling/api/resource/NonExistingResourceTest.java 
b/src/test/java/org/apache/sling/api/resource/NonExistingResourceTest.java
index ec6ee2d..1160262 100644
--- a/src/test/java/org/apache/sling/api/resource/NonExistingResourceTest.java
+++ b/src/test/java/org/apache/sling/api/resource/NonExistingResourceTest.java
@@ -61,4 +61,11 @@ public class NonExistingResourceTest {
         Assert.assertEquals("/existingParent", parentResource.getPath());
         Assert.assertFalse(ResourceUtil.isNonExistingResource(parentResource));
     }
+
+    @Test
+    public void testGetNameNotThrowingException() {
+        final NonExistingResource nonExistingResource = new 
NonExistingResource(resolver, "/../nonExistingResource");
+
+        Assert.assertEquals("<INVALID>", nonExistingResource.getName());
+    }
 }

Reply via email to