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 st...@apache.org on 2018/06/12 07:36:56 UTC
svn commit: r1833380 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditor.java
oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistryTest.java
Author: stillalex
Date: Tue Jun 12 07:36:56 2018
New Revision: 1833380
URL: http://svn.apache.org/viewvc?rev=1833380&view=rev
Log:
OAK-7537 Allow for initial registration of 'xml' namespace
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditor.java
jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistryTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditor.java?rev=1833380&r1=1833379&r2=1833380&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditor.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditor.java Tue Jun 12 07:36:56 2018
@@ -74,7 +74,7 @@ class NamespaceEditor extends DefaultEdi
throw new CommitFailedException(
CommitFailedException.NAMESPACE, 2,
"Invalid namespace mapping: " + prefix);
- } else if (prefix.toLowerCase(Locale.ENGLISH).startsWith("xml")) {
+ } else if (prefix.toLowerCase(Locale.ENGLISH).startsWith("xml") && namespaces.hasProperty("xml")) {
throw new CommitFailedException(
CommitFailedException.NAMESPACE, 3,
"XML prefixes are reserved: " + prefix);
Modified: jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistryTest.java?rev=1833380&r1=1833379&r2=1833380&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistryTest.java (original)
+++ jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistryTest.java Tue Jun 12 07:36:56 2018
@@ -16,16 +16,20 @@
*/
package org.apache.jackrabbit.oak.plugins.name;
+import static com.google.common.collect.Sets.newHashSet;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import javax.jcr.NamespaceException;
import javax.jcr.NamespaceRegistry;
+import org.apache.jackrabbit.oak.InitialContent;
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.OakBaseTest;
import org.apache.jackrabbit.oak.api.ContentSession;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.fixture.NodeStoreFixture;
-import org.apache.jackrabbit.oak.InitialContent;
import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
import org.junit.Test;
@@ -77,5 +81,13 @@ public class ReadWriteNamespaceRegistryT
assertEquals(r.getURI("p2"), "n2");
assertEquals(r.getPrefix("n2"), "p2");
+ // xml namespace check
+ assertTrue(newHashSet(r.getPrefixes()).contains("xml"));
+ try {
+ r.registerNamespace("xml", "test");
+ fail("Trying to register the namespace 'xml' must throw a NamespaceException.");
+ } catch (NamespaceException ex) {
+ // expected
+ }
}
}