You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2011/06/16 17:59:22 UTC

svn commit: r1136504 - in /jackrabbit/sandbox/spi2microkernel/src: main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java

Author: mduerig
Date: Thu Jun 16 15:59:22 2011
New Revision: 1136504

URL: http://svn.apache.org/viewvc?rev=1136504&view=rev
Log:
spi2microkernel prototype (WIP)
name space registry

Modified:
    jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java
    jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java

Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java?rev=1136504&r1=1136503&r2=1136504&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java Thu Jun 16 15:59:22 2011
@@ -47,7 +47,9 @@ import org.apache.jackrabbit.spi2microke
 import org.json.simple.parser.JSONParser;
 import org.json.simple.parser.ParseException;
 
+import javax.jcr.AccessDeniedException;
 import javax.jcr.Credentials;
+import javax.jcr.NamespaceException;
 import javax.jcr.NoSuchWorkspaceException;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.RepositoryException;
@@ -318,6 +320,18 @@ public class RepositoryServiceImpl exten
         nodeTypeDefs.unregisterNodeTypes(nodeTypeNames);
     }
 
+    //------------------------------------------< Name space management >---
+
+    @Override
+    public void registerNamespace(SessionInfo sessionInfo, String prefix, String uri) throws NamespaceException, UnsupportedRepositoryOperationException, AccessDeniedException, RepositoryException {
+        namespaces.setMapping(prefix, uri);
+    }
+
+    @Override
+    public void unregisterNamespace(SessionInfo sessionInfo, String uri) throws NamespaceException, UnsupportedRepositoryOperationException, AccessDeniedException, RepositoryException {
+        namespaces.removeMapping(uri);
+    }
+
     //------------------------------------------< private >---
 
     private static ChangeLog changeLog(Batch batch) throws RepositoryException {

Modified: jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java?rev=1136504&r1=1136503&r2=1136504&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java Thu Jun 16 15:59:22 2011
@@ -30,6 +30,7 @@ import org.junit.Test;
 
 import javax.imageio.spi.ServiceRegistry;
 import javax.jcr.Binary;
+import javax.jcr.NamespaceRegistry;
 import javax.jcr.NoSuchWorkspaceException;
 import javax.jcr.Node;
 import javax.jcr.PathNotFoundException;
@@ -53,6 +54,7 @@ import java.util.Iterator;
 import java.util.Set;
 
 import static java.util.Arrays.asList;
+import static org.apache.jackrabbit.spi2microkernel.util.Arrays.contains;
 import static org.junit.Assert.*;
 
 public class RepositoryTest {
@@ -848,6 +850,21 @@ public class RepositoryTest {
     }
 
     @Test
+    public void nameSpaceRegistry() throws RepositoryException {
+        NamespaceRegistry nsReg = getSession().getWorkspace().getNamespaceRegistry();
+        assertFalse(contains(nsReg.getPrefixes(), "foo"));
+        assertFalse(contains(nsReg.getURIs(), "file:///foo"));
+
+        nsReg.registerNamespace("foo", "file:///foo");
+        assertTrue(contains(nsReg.getPrefixes(), "foo"));
+        assertTrue(contains(nsReg.getURIs(), "file:///foo"));
+
+        nsReg.unregisterNamespace("foo");
+        assertFalse(contains(nsReg.getPrefixes(), "foo"));
+        assertFalse(contains(nsReg.getURIs(), "file:///foo"));
+    }
+
+    @Test
     public void mixin() throws RepositoryException {
         NodeTypeManager ntMgr = getSession().getWorkspace().getNodeTypeManager();
         NodeTypeTemplate mixTest = ntMgr.createNodeTypeTemplate();