This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-api.git
The following commit(s) were added to refs/heads/master by this push:
new 009ebd6 SLING-12757 : AbstractResource.getName() can throw exceptions
(#58)
009ebd6 is described below
commit 009ebd60999433438ab81a8edd4168a86cfb4ca8
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Sat May 10 17:29:23 2025 +0200
SLING-12757 : AbstractResource.getName() can throw exceptions (#58)
---
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());
+ }
}