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 mr...@apache.org on 2013/04/02 17:06:48 UTC
svn commit: r1463584 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java
oak-jcr/pom.xml
oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionNamespaces.java
Author: mreutegg
Date: Tue Apr 2 15:06:47 2013
New Revision: 1463584
URL: http://svn.apache.org/r1463584
Log:
OAK-715: Don't share name space map between SessionImpl and LocalNameMapper
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java
jackrabbit/oak/trunk/oak-jcr/pom.xml
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionNamespaces.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java?rev=1463584&r1=1463583&r2=1463584&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/LocalNameMapper.java Tue Apr 2 15:06:47 2013
@@ -62,7 +62,6 @@ public abstract class LocalNameMapper ex
for (int i = 2; true; i++) {
String jcrPrefix = oakPrefix + i;
if (!local.containsKey(jcrPrefix)) {
- local.put(jcrPrefix, uri);
return jcrPrefix + oakName.substring(colon);
}
}
Modified: jackrabbit/oak/trunk/oak-jcr/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/pom.xml?rev=1463584&r1=1463583&r2=1463584&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-jcr/pom.xml Tue Apr 2 15:06:47 2013
@@ -35,7 +35,6 @@
<properties>
<known.issues>
- org.apache.jackrabbit.test.api.NamespaceRemappingTest#testAutomaticNewLocalPrefix<!-- OAK-715 -->
org.apache.jackrabbit.test.api.AddNodeTest#testSameNameSiblings<!-- OAK-203 -->
org.apache.jackrabbit.test.api.SessionTest#testMoveConstraintViolationExceptionSrc<!--OAK-132-->
org.apache.jackrabbit.test.api.SessionTest#testMoveConstraintViolationExceptionDest<!--OAK-132-->
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionNamespaces.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionNamespaces.java?rev=1463584&r1=1463583&r2=1463584&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionNamespaces.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionNamespaces.java Tue Apr 2 15:06:47 2013
@@ -106,6 +106,12 @@ class SessionNamespaces {
// Add the new mapping
namespaces.put(prefix, uri);
}
+
+ if (snapshot.containsKey(prefix)) {
+ // make sure we have a prefix in case an existing
+ // namespace uri is re-mapped
+ getNamespacePrefix(snapshot.get(prefix));
+ }
}
/**
@@ -172,7 +178,8 @@ class SessionNamespaces {
// try snapshot
for (Map.Entry<String, String> entry : snapshot.entrySet()) {
- if (entry.getValue().equals(uri)) {
+ if (entry.getValue().equals(uri)
+ && !namespaces.containsKey(entry.getKey())) {
return entry.getKey();
}
}