diff --git a/parent/pom.xml b/parent/pom.xml
index 3827c4a92..625886902 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -57,7 +57,7 @@ Apache Jackrabbit FileVault is a project of the Apache Software Foundation.
1.22.4
- 1.52.0
+ 1.62.0
1.7.25
true
6.4.0
diff --git a/vault-core-it/vault-core-integration-tests/src/main/java/org/apache/jackrabbit/vault/packaging/integration/NamespaceImportIT.java b/vault-core-it/vault-core-integration-tests/src/main/java/org/apache/jackrabbit/vault/packaging/integration/NamespaceImportIT.java
index b44b44e3c..2211495e0 100644
--- a/vault-core-it/vault-core-integration-tests/src/main/java/org/apache/jackrabbit/vault/packaging/integration/NamespaceImportIT.java
+++ b/vault-core-it/vault-core-integration-tests/src/main/java/org/apache/jackrabbit/vault/packaging/integration/NamespaceImportIT.java
@@ -19,12 +19,14 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assume.assumeTrue;
import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.util.Properties;
+import java.util.UUID;
import javax.jcr.NamespaceException;
import javax.jcr.NamespaceRegistry;
@@ -35,6 +37,7 @@
import javax.jcr.SimpleCredentials;
import org.apache.jackrabbit.api.JackrabbitRepository;
+import org.apache.jackrabbit.commons.JcrUtils;
import org.apache.jackrabbit.vault.fs.api.PathFilterSet;
import org.apache.jackrabbit.vault.fs.config.DefaultMetaInf;
import org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter;
@@ -208,6 +211,19 @@ public void testBadNamespaceNames() throws RepositoryException, IOException, Pac
}
}
+ @Test
+ public void importRemappedNamespace() throws IOException, PackageException, RepositoryException {
+ // repro test for OAK-10544
+ admin.getWorkspace().getNamespaceRegistry().registerNamespace("correct", "bar:");
+ admin.getWorkspace().getNamespaceRegistry().registerNamespace("ns2", "bad:");
+ Node test = JcrUtils.getOrCreateByPath("/tmp/remappedprefix", "nt:unstructured", admin);
+ test.setProperty("ns2:prop", "old");
+ admin.save();
+ extractVaultPackageStrict("/test-packages/remappedprefix.zip");
+ Node test2 = admin.getNode("/tmp/remappedprefix");
+ assertEquals("new", test2.getProperty("{correct:}prop").getString());
+ }
+
/** Simple Oak repository wrapper */
private static final class Instance implements Closeable {
diff --git a/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/META-INF/vault/filter.xml b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/META-INF/vault/filter.xml
new file mode 100644
index 000000000..434a0f9ac
--- /dev/null
+++ b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/META-INF/vault/filter.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/META-INF/vault/properties.xml b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/META-INF/vault/properties.xml
new file mode 100644
index 000000000..2494f50cf
--- /dev/null
+++ b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/META-INF/vault/properties.xml
@@ -0,0 +1,18 @@
+
+
+
+FileVault Package Properties
+admin
+test_referenceable
+2015-12-16T16:59:10.779+01:00
+admin
+2015-12-16T16:59:10.795+01:00
+5
+
+
+2
+
+2015-12-16T16:59:10.779+01:00
+my_packages
+admin
+
diff --git a/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/.content.xml b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/.content.xml
new file mode 100644
index 000000000..6d7a97680
--- /dev/null
+++ b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/.content.xml
@@ -0,0 +1,4 @@
+
+
diff --git a/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/tmp/.content.xml b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/tmp/.content.xml
new file mode 100644
index 000000000..fb0a629bf
--- /dev/null
+++ b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/tmp/.content.xml
@@ -0,0 +1,4 @@
+
+
diff --git a/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/tmp/remappedprefix.xml b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/tmp/remappedprefix.xml
new file mode 100644
index 000000000..8090af73a
--- /dev/null
+++ b/vault-core-it/vault-core-integration-tests/src/main/resources/test-packages/remappedprefix.zip/jcr_root/tmp/remappedprefix.xml
@@ -0,0 +1,3 @@
+
+