This is an automated email from the ASF dual-hosted git repository. joerghoh pushed a commit to branch OAK-10473-handle-illegalArgumentException in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 98dad07847f4640bb22464d1b99d546c7a272704 Author: Joerg Hoh <[email protected]> AuthorDate: Fri Oct 13 16:20:12 2023 +0200 OAK-10473 do not throw an IAE on invalid names --- .../oak/plugins/identifier/IdentifierManager.java | 7 ++++--- .../oak/plugins/identifier/IdentifierManagerTest.java | 13 +++---------- .../oak/security/user/UserImporterMembershipIgnoreTest.java | 2 +- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java index 02f119feaa..9f60ed4644 100644 --- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java +++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java @@ -49,7 +49,6 @@ import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.apache.jackrabbit.guava.common.base.Preconditions.checkArgument; import static org.apache.jackrabbit.guava.common.base.Predicates.notNull; import static org.apache.jackrabbit.guava.common.collect.Iterators.filter; import static org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator; @@ -129,8 +128,10 @@ public class IdentifierManager { String uuid = k == -1 ? identifier : identifier.substring(0, k); - - checkArgument(UUIDUtils.isValidUUID(uuid), "Not a valid identifier '" + identifier + '\''); + if (!UUIDUtils.isValidUUID(uuid)) { + log.warn("Not a valid identifier '{}'",identifier); + return null; + } Tree tree = resolveUUIDToTree(createPropertyValue(uuid)); if (tree == null) { diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManagerTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManagerTest.java index 234f71264d..6766df245d 100644 --- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManagerTest.java +++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManagerTest.java @@ -96,11 +96,8 @@ public class IdentifierManagerTest { assertEquals(PATH_Z1, identifierManager.getTree(ID_Z1).getPath()); assertNull(identifierManager.getTree(ID_NON_EXISTING)); - try { - identifierManager.getTree(ID_INVALID); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException expected) { } + assertNull(identifierManager.getTree(ID_INVALID)); + } @Test @@ -111,11 +108,7 @@ public class IdentifierManagerTest { assertEquals(PATH_Z1, identifierManager.getPath(ID_Z1)); assertNull(identifierManager.getPath(ID_NON_EXISTING)); - try { - identifierManager.getPath(ID_INVALID); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException expected) { } + assertNull(identifierManager.getPath(ID_INVALID)); } @Test diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserImporterMembershipIgnoreTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserImporterMembershipIgnoreTest.java index 80e92c4689..037cca18fa 100644 --- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserImporterMembershipIgnoreTest.java +++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserImporterMembershipIgnoreTest.java @@ -65,7 +65,7 @@ public class UserImporterMembershipIgnoreTest extends UserImporterBaseTest { assertTrue(importer.start(memberRefList)); } - @Test(expected = IllegalArgumentException.class) + @Test public void testInvalidMemberContentId() throws Exception { importer.startChildInfo(createNodeInfo("memberRef", NT_REP_MEMBER_REFERENCES), ImmutableList.of(createPropInfo(REP_MEMBERS, "memberId"))); importer.processReferences();
