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 =