diff --git a/src/main/java/org/alfresco/service/namespace/DynamicNamespacePrefixResolver.java b/src/main/java/org/alfresco/service/namespace/DynamicNamespacePrefixResolver.java
index 279ca261ee..918d52fa3d 100644
--- a/src/main/java/org/alfresco/service/namespace/DynamicNamespacePrefixResolver.java
+++ b/src/main/java/org/alfresco/service/namespace/DynamicNamespacePrefixResolver.java
@@ -139,7 +139,7 @@ public class DynamicNamespacePrefixResolver implements NamespaceService
{
uris.addAll(delegate.getURIs());
}
- uris.addAll(map.keySet());
+ uris.addAll(map.values());
return uris;
}
}
diff --git a/src/test/java/org/alfresco/service/namespace/DynamicNameSpaceResolverTest.java b/src/test/java/org/alfresco/service/namespace/DynamicNameSpaceResolverTest.java
index 354cbd9259..0ffc287b4b 100644
--- a/src/test/java/org/alfresco/service/namespace/DynamicNameSpaceResolverTest.java
+++ b/src/test/java/org/alfresco/service/namespace/DynamicNameSpaceResolverTest.java
@@ -4,27 +4,29 @@
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* %%
- * This file is part of the Alfresco software.
- * If the software was purchased under a paid Alfresco license, the terms of
- * the paid license agreement will prevail. Otherwise, the software is
+ * This file is part of the Alfresco software.
+ * If the software was purchased under a paid Alfresco license, the terms of
+ * the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
- *
+ *
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
- *
+ *
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
* #L%
*/
package org.alfresco.service.namespace;
+import java.util.Collection;
+
import junit.framework.TestCase;
public class DynamicNameSpaceResolverTest extends TestCase
@@ -34,7 +36,7 @@ public class DynamicNameSpaceResolverTest extends TestCase
{
super();
}
-
+
public void testOne()
{
DynamicNamespacePrefixResolver dnpr = new DynamicNamespacePrefixResolver(null);
@@ -44,25 +46,25 @@ public class DynamicNameSpaceResolverTest extends TestCase
dnpr.registerNamespace("oneagain", "http:/namespace/one");
dnpr.registerNamespace("four", "http:/namespace/one");
dnpr.registerNamespace("four", "http:/namespace/four");
-
+
assertEquals("http:/namespace/one", dnpr.getNamespaceURI("one"));
assertEquals("http:/namespace/two", dnpr.getNamespaceURI("two"));
assertEquals("http:/namespace/three", dnpr.getNamespaceURI("three"));
assertEquals("http:/namespace/one", dnpr.getNamespaceURI("oneagain"));
assertEquals("http:/namespace/four", dnpr.getNamespaceURI("four"));
assertEquals(null, dnpr.getNamespaceURI("five"));
-
+
dnpr.unregisterNamespace("four");
assertEquals(null, dnpr.getNamespaceURI("four"));
-
+
assertEquals(0, dnpr.getPrefixes("http:/namespace/four").size());
assertEquals(1, dnpr.getPrefixes("http:/namespace/two").size());
assertEquals(2, dnpr.getPrefixes("http:/namespace/one").size());
-
-
+
+
}
-
-
+
+
public void testTwo()
{
DynamicNamespacePrefixResolver dnpr1 = new DynamicNamespacePrefixResolver(null);
@@ -74,7 +76,7 @@ public class DynamicNameSpaceResolverTest extends TestCase
dnpr1.registerNamespace("four", "http:/namespace/four");
dnpr1.registerNamespace("five", "http:/namespace/five");
dnpr1.registerNamespace("six", "http:/namespace/six");
-
+
DynamicNamespacePrefixResolver dnpr2 = new DynamicNamespacePrefixResolver(dnpr1);
dnpr2.registerNamespace("a", "http:/namespace/one");
dnpr2.registerNamespace("b", "http:/namespace/two");
@@ -84,7 +86,7 @@ public class DynamicNameSpaceResolverTest extends TestCase
dnpr2.registerNamespace("f", "http:/namespace/four");
dnpr2.registerNamespace("five", "http:/namespace/one");
dnpr2.registerNamespace("six", "http:/namespace/seven");
-
+
assertEquals("http:/namespace/one", dnpr2.getNamespaceURI("one"));
assertEquals("http:/namespace/two", dnpr2.getNamespaceURI("two"));
assertEquals("http:/namespace/three", dnpr2.getNamespaceURI("three"));
@@ -92,7 +94,7 @@ public class DynamicNameSpaceResolverTest extends TestCase
assertEquals("http:/namespace/four", dnpr2.getNamespaceURI("four"));
assertEquals("http:/namespace/one", dnpr2.getNamespaceURI("five"));
dnpr2.unregisterNamespace("five");
-
+
assertEquals("http:/namespace/five", dnpr2.getNamespaceURI("five"));
assertEquals("http:/namespace/one", dnpr2.getNamespaceURI("a"));
assertEquals("http:/namespace/two", dnpr2.getNamespaceURI("b"));
@@ -100,7 +102,7 @@ public class DynamicNameSpaceResolverTest extends TestCase
assertEquals("http:/namespace/one", dnpr2.getNamespaceURI("d"));
assertEquals("http:/namespace/one", dnpr2.getNamespaceURI("e"));
assertEquals("http:/namespace/four", dnpr2.getNamespaceURI("f"));
-
+
assertEquals(5, dnpr2.getPrefixes("http:/namespace/one").size());
assertEquals(2, dnpr2.getPrefixes("http:/namespace/two").size());
assertEquals(2, dnpr2.getPrefixes("http:/namespace/three").size());
@@ -113,9 +115,34 @@ public class DynamicNameSpaceResolverTest extends TestCase
public void testGetters()
{
DynamicNamespacePrefixResolver dnpr = new DynamicNamespacePrefixResolver(new QNameTest.MockNamespacePrefixResolver());
- assertNotNull(dnpr.getPrefixes());
- assertNotNull(dnpr.getURIs());
- assertNotNull(new DynamicNamespacePrefixResolver());
+
+ dnpr.registerNamespace("one", "http:/namespace/one");
+ dnpr.registerNamespace("two", "http:/namespace/two");
+ dnpr.registerNamespace("three", "http:/namespace/three");
+ dnpr.registerNamespace("oneagain", "http:/namespace/one");
+ dnpr.registerNamespace("four", "http:/namespace/one");
+ dnpr.registerNamespace("four", "http:/namespace/four");
+ dnpr.registerNamespace("five", "http:/namespace/five");
+ dnpr.registerNamespace("six", "http:/namespace/six");
+
+ Collection prefixes = dnpr.getPrefixes();
+ assertNotNull(prefixes);
+ assertTrue(prefixes.contains("one"));
+ assertTrue(prefixes.contains("two"));
+ assertTrue(prefixes.contains("three"));
+ assertTrue(prefixes.contains("four"));
+ assertTrue(prefixes.contains("five"));
+ assertTrue(prefixes.contains("six"));
+ assertTrue(prefixes.contains("oneagain"));
+
+ Collection uris = dnpr.getURIs();
+ assertNotNull(uris);
+ assertTrue(uris.contains("http:/namespace/one"));
+ assertTrue(uris.contains("http:/namespace/two"));
+ assertTrue(uris.contains("http:/namespace/three"));
+ assertTrue(uris.contains("http:/namespace/four"));
+ assertTrue(uris.contains("http:/namespace/five"));
+ assertTrue(uris.contains("http:/namespace/six"));
}
}