You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2023/06/15 15:15:15 UTC
[jackrabbit-oak] 01/01: OAK-10304: work in progress
This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch OAK-10304
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 0152730f8dc0b510aaaef156eb1ea50cc6b4980c
Author: Julian Reschke <ju...@gmx.de>
AuthorDate: Thu Jun 15 16:14:58 2023 +0100
OAK-10304: work in progress
---
.../oak/plugins/name/ReadWriteNamespaceRegistry.java | 6 ++++++
.../org/apache/jackrabbit/oak/jcr/RepositoryTest.java | 19 +++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java
index 186b10356c..3acdc72561 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java
@@ -25,6 +25,8 @@ import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
@@ -33,6 +35,8 @@ import org.apache.jackrabbit.oak.api.Tree;
public abstract class ReadWriteNamespaceRegistry
extends ReadOnlyNamespaceRegistry {
+ private static final Logger LOG = LoggerFactory.getLogger(ReadWriteNamespaceRegistry.class);
+
public ReadWriteNamespaceRegistry(Root root) {
super(root);
}
@@ -63,6 +67,8 @@ public abstract class ReadWriteNamespaceRegistry
@Override
public void registerNamespace(String prefix, String uri)
throws RepositoryException {
+ LOG.error("registering: " + uri);
+
if (prefix.isEmpty() && uri.isEmpty()) {
return; // the default empty namespace is always registered
} else if (prefix.isEmpty() || uri.isEmpty()) {
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
index f113e4e0d2..e8fedffcfe 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
@@ -91,6 +91,7 @@ import org.apache.jackrabbit.commons.cnd.ParseException;
import org.apache.jackrabbit.commons.jackrabbit.SimpleReferenceBinary;
import org.apache.jackrabbit.core.data.RandomInputStream;
import org.apache.jackrabbit.core.security.principal.AdminPrincipal;
+import org.apache.jackrabbit.oak.commons.junit.LogCustomizer;
import org.apache.jackrabbit.oak.fixture.NodeStoreFixture;
import org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl;
import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants;
@@ -1996,6 +1997,24 @@ public class RepositoryTest extends AbstractRepositoryTest {
assertFalse(asList(nsReg.getURIs()).contains("file:///foo"));
}
+ // see OAK-10304
+ @Test
+ public void testNamespaceNames() throws RepositoryException {
+ NamespaceRegistry nsReg = getAdminSession().getWorkspace().getNamespaceRegistry();
+
+ LogCustomizer customLogs = LogCustomizer.forLogger("org.apache.jackrabbit.oak.plugins.name.ReadWriteNamespaceRegistry").enable(Level.ERROR).create();
+ try {
+ customLogs.starting();
+ nsReg.registerNamespace("foo", "example.com");
+ List<String> myLogs = customLogs.getLogs();
+ assertEquals("", myLogs.toString());
+ nsReg.unregisterNamespace("foo");
+ }
+ finally {
+ customLogs.finished();
+ }
+ }
+
@Test
public void sessionRemappedNamespace() throws RepositoryException {
NamespaceRegistry nsReg =