[dna-commits] DNA SVN: r527 - in trunk/dna-jcr/src: test/java/org/jboss/dna/jcr and 1 other directory.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Wed Sep 17 14:57:48 EDT 2008


Author: jverhaeg at redhat.com
Date: 2008-09-17 14:57:47 -0400 (Wed, 17 Sep 2008)
New Revision: 527

Modified:
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrNode.java
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrProperty.java
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNode.java
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeIterator.java
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrRootNode.java
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrSession.java
   trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractJcrNodeTest.java
   trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractJcrPropertyTest.java
   trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrNodeIteratorTest.java
   trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrNodeTest.java
   trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrPropertyIteratorTest.java
   trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrRootNodeTest.java
Log:
Changed all JCR classes that call getString on a DNA name, segment, or path to provide the namespace registry so URIs get transformed into prefixes correctly.

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrNode.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrNode.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrNode.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -55,13 +55,13 @@
 @NotThreadSafe
 abstract class AbstractJcrNode extends AbstractJcrItem implements Node {
 
-    private final Session session;
+    private final JcrSession session;
     Set<Property> properties;
     List<Name> children;
     List<Integer> childNameCounts;
     private UUID uuid;
 
-    AbstractJcrNode( Session session ) {
+    AbstractJcrNode( JcrSession session ) {
         assert session != null;
         this.session = session;
     }
@@ -423,7 +423,7 @@
         int childNdx = 0;
         if (children != null) {
             for (Name child : children) {
-                if (name.equals(child.getString())) {
+                if (name.equals(child.getString(session.getExecutionContext().getNamespaceRegistry()))) {
                     if (ndxNdx >= 0) {
                         return (Integer.parseInt(relativePath.substring(ndxNdx + 1, relativePath.length() - 1)) <= childNameCounts.get(childNdx));
                     }

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrProperty.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrProperty.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrProperty.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -124,7 +124,7 @@
      * @see javax.jcr.Item#getName()
      */
     public final String getName() {
-        return name.getString();
+        return name.getString(executionContext.getNamespaceRegistry());
     }
 
     /**

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNode.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNode.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNode.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -25,7 +25,6 @@
 import javax.jcr.ItemNotFoundException;
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
-import javax.jcr.Session;
 import net.jcip.annotations.NotThreadSafe;
 import org.jboss.dna.spi.graph.Path.Segment;
 
@@ -38,7 +37,7 @@
     private final UUID parentUuid;
     private final Segment segment;
 
-    JcrNode( Session session,
+    JcrNode( JcrSession session,
              UUID parentUuid,
              Segment segment ) {
         super(session);
@@ -72,7 +71,7 @@
      * @see javax.jcr.Item#getName()
      */
     public String getName() {
-        return segment.getName().getString();
+        return segment.getName().getString(((JcrSession)getSession()).getExecutionContext().getNamespaceRegistry());
     }
 
     /**

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeIterator.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeIterator.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeIterator.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -105,7 +105,8 @@
             childNdx = 1;
         }
         try {
-            node = parent.getNode(child.getString() + '[' + childNdx + ']');
+            node = parent.getNode(child.getString(((JcrSession)parent.getSession()).getExecutionContext().getNamespaceRegistry())
+                                  + '[' + childNdx + ']');
             childNdx++;
             ndx++;
             return node;

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrRootNode.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrRootNode.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrRootNode.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -23,7 +23,6 @@
 
 import javax.jcr.ItemNotFoundException;
 import javax.jcr.Node;
-import javax.jcr.Session;
 import net.jcip.annotations.NotThreadSafe;
 
 /**
@@ -32,7 +31,7 @@
 @NotThreadSafe
 final class JcrRootNode extends AbstractJcrNode {
 
-    JcrRootNode( Session session ) {
+    JcrRootNode( JcrSession session ) {
         super(session);
     }
 

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrSession.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrSession.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrSession.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -248,7 +248,7 @@
         // If a node isn't found & last segment contains no index, get parent node & search for a property with the last name in
         // the path
         if (!lastSeg.hasIndex()) {
-            return getNode(parentPath).getProperty(lastSeg.getString());
+            return getNode(parentPath).getProperty(lastSeg.getString(executionContext.getNamespaceRegistry()));
         }
         // If a property isn't found, throw a PathNotFoundException
         throw new PathNotFoundException(JcrI18n.pathNotFound.text(path));

Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractJcrNodeTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractJcrNodeTest.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractJcrNodeTest.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -39,11 +39,12 @@
 import javax.jcr.PathNotFoundException;
 import javax.jcr.Property;
 import javax.jcr.RepositoryException;
-import javax.jcr.Session;
 import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.Value;
 import javax.jcr.Workspace;
 import javax.jcr.version.Version;
+import org.jboss.dna.spi.ExecutionContext;
+import org.jboss.dna.spi.graph.NamespaceRegistry;
 import org.jboss.dna.spi.graph.Path.Segment;
 import org.jboss.dna.spi.graph.impl.BasicName;
 import org.junit.Before;
@@ -57,7 +58,7 @@
  */
 public class AbstractJcrNodeTest {
 
-    static MockAbstractJcrNode createChild( Session session,
+    static MockAbstractJcrNode createChild( JcrSession session,
                                             String name,
                                             int index,
                                             List<Segment> children,
@@ -66,7 +67,7 @@
         Segment seg = Mockito.mock(Segment.class);
         stub(seg.getName()).toReturn(new BasicName(null, name));
         children.add(seg);
-        stub(session.getItem(parent.getPath() + "/{}" + name + '[' + index + ']')).toReturn(child);
+        stub(session.getItem(parent.getPath() + "/" + name + '[' + index + ']')).toReturn(child);
         return child;
     }
 
@@ -75,7 +76,7 @@
         String name;
         Node parent;
 
-        MockAbstractJcrNode( Session session,
+        MockAbstractJcrNode( JcrSession session,
                              String name,
                              Node parent ) {
             super(session);
@@ -106,13 +107,17 @@
 
     private AbstractJcrNode node;
     @Mock
-    private Session session;
+    private JcrSession session;
     private List<Segment> children;
     private Set<Property> properties;
 
     @Before
     public void before() throws Exception {
         MockitoAnnotations.initMocks(this);
+        NamespaceRegistry registry = Mockito.mock(NamespaceRegistry.class);
+        ExecutionContext context = Mockito.mock(ExecutionContext.class);
+        stub(context.getNamespaceRegistry()).toReturn(registry);
+        stub(session.getExecutionContext()).toReturn(context);
         children = new ArrayList<Segment>();
         properties = new HashSet<Property>();
         node = new MockAbstractJcrNode(session, "node", null);
@@ -319,7 +324,7 @@
 
     @Test
     public void shouldProvideSession() throws Exception {
-        assertThat(node.getSession(), is(session));
+        assertThat((JcrSession)node.getSession(), is(session));
     }
 
     @Test
@@ -378,7 +383,7 @@
         Node child = createChild(session, "child", 1, children, node);
         Node child2 = createChild(session, "child2", 1, children, child);
         node.setChildren(children);
-        assertThat(node.hasNode("{}child"), is(true));
+        assertThat(node.hasNode("child"), is(true));
         stub(session.getItem("/node/child/{}child2")).toReturn(child2);
         assertThat(node.hasNode("child/{}child2"), is(true));
     }
@@ -460,7 +465,7 @@
     @Test
     public void shouldProvideIsSame() throws Exception {
         stub(session.getWorkspace()).toReturn(Mockito.mock(Workspace.class));
-        Session session2 = Mockito.mock(Session.class);
+        JcrSession session2 = Mockito.mock(JcrSession.class);
         Node node2 = new MockAbstractJcrNode(session2, node.getName(), node.getParent());
         assertThat(node.isSame(node2), is(false));
         Property prop = Mockito.mock(Property.class);

Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractJcrPropertyTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractJcrPropertyTest.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractJcrPropertyTest.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -37,6 +37,7 @@
 import org.jboss.dna.common.util.StringUtil;
 import org.jboss.dna.spi.ExecutionContext;
 import org.jboss.dna.spi.graph.Name;
+import org.jboss.dna.spi.graph.NamespaceRegistry;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -54,6 +55,8 @@
     @Mock
     private Node node;
     @Mock
+    private NamespaceRegistry namespaceRegistry;
+    @Mock
     private ExecutionContext executionContext;
     @Mock
     private Name name;
@@ -62,6 +65,7 @@
     public void before() throws Exception {
         MockitoAnnotations.initMocks(this);
         stub(node.getSession()).toReturn(session);
+        stub(executionContext.getNamespaceRegistry()).toReturn(namespaceRegistry);
         prop = new MockAbstractJcrProperty(node, executionContext, name);
     }
 
@@ -128,7 +132,7 @@
 
     @Test
     public void shouldProvideName() throws Exception {
-        stub(name.getString()).toReturn("name");
+        stub(name.getString(namespaceRegistry)).toReturn("name");
         assertThat(prop.getName(), is("name"));
     }
 
@@ -140,7 +144,7 @@
     @Test
     public void shouldProvidePath() throws Exception {
         stub(node.getPath()).toReturn("/nodeName");
-        stub(name.getString()).toReturn("propertyName");
+        stub(name.getString(namespaceRegistry)).toReturn("propertyName");
         assertThat(prop.getPath(), is("/nodeName/propertyName"));
     }
 
@@ -158,11 +162,11 @@
 
     @Test
     public void shouldIndicateSameAsNodeWithSameParentAndName() throws Exception {
-        stub(name.getString()).toReturn("propertyName");
+        stub(name.getString(namespaceRegistry)).toReturn("propertyName");
         Node otherNode = Mockito.mock(Node.class);
         stub(otherNode.getSession()).toReturn(session);
         Name otherName = Mockito.mock(Name.class);
-        stub(otherName.getString()).toReturn("propertyName");
+        stub(otherName.getString(namespaceRegistry)).toReturn("propertyName");
         stub(node.isSame(otherNode)).toReturn(true);
         Property otherProp = new MockAbstractJcrProperty(otherNode, executionContext, otherName);
         assertThat(prop.isSame(otherProp), is(true));
@@ -170,11 +174,11 @@
 
     @Test
     public void shouldIndicateDifferentThanNodeWithDifferentParent() throws Exception {
-        stub(name.getString()).toReturn("propertyName");
+        stub(name.getString(namespaceRegistry)).toReturn("propertyName");
         Node otherNode = Mockito.mock(Node.class);
         stub(otherNode.getSession()).toReturn(session);
         Name otherName = Mockito.mock(Name.class);
-        stub(otherName.getString()).toReturn("propertyName");
+        stub(otherName.getString(namespaceRegistry)).toReturn("propertyName");
         stub(node.isSame(otherNode)).toReturn(false);
         Property otherProp = new MockAbstractJcrProperty(otherNode, executionContext, otherName);
         assertThat(prop.isSame(otherProp), is(false));
@@ -182,11 +186,11 @@
 
     @Test
     public void shouldIndicateDifferentThanNodeWithDifferentName() throws Exception {
-        stub(name.getString()).toReturn("propertyName");
+        stub(name.getString(namespaceRegistry)).toReturn("propertyName");
         Node otherNode = Mockito.mock(Node.class);
         stub(otherNode.getSession()).toReturn(session);
         Name otherName = Mockito.mock(Name.class);
-        stub(otherName.getString()).toReturn("propertyName2");
+        stub(otherName.getString(namespaceRegistry)).toReturn("propertyName2");
         stub(node.isSame(otherNode)).toReturn(true);
         Property otherProp = new MockAbstractJcrProperty(otherNode, executionContext, otherName);
         assertThat(prop.isSame(otherProp), is(false));

Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrNodeIteratorTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrNodeIteratorTest.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrNodeIteratorTest.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -24,15 +24,18 @@
 import static org.hamcrest.core.Is.is;
 import static org.hamcrest.core.IsNull.notNullValue;
 import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.stub;
 import java.util.ArrayList;
 import java.util.List;
 import javax.jcr.Node;
 import javax.jcr.NodeIterator;
-import javax.jcr.Session;
 import org.jboss.dna.jcr.AbstractJcrNodeTest.MockAbstractJcrNode;
+import org.jboss.dna.spi.ExecutionContext;
+import org.jboss.dna.spi.graph.NamespaceRegistry;
 import org.jboss.dna.spi.graph.Path.Segment;
 import org.junit.Before;
 import org.junit.Test;
+import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.mockito.MockitoAnnotations.Mock;
 
@@ -43,12 +46,16 @@
 
     private AbstractJcrNode node;
     @Mock
-    private Session session;
+    private JcrSession session;
     private List<Segment> children;
 
     @Before
     public void before() throws Exception {
         MockitoAnnotations.initMocks(this);
+        NamespaceRegistry registry = Mockito.mock(NamespaceRegistry.class);
+        ExecutionContext context = Mockito.mock(ExecutionContext.class);
+        stub(context.getNamespaceRegistry()).toReturn(registry);
+        stub(session.getExecutionContext()).toReturn(context);
         children = new ArrayList<Segment>();
         node = new MockAbstractJcrNode(session, "node", null);
     }

Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrNodeTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrNodeTest.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrNodeTest.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -23,6 +23,7 @@
 
 import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertThat;
+import static org.mockito.Matchers.anyObject;
 import static org.mockito.Mockito.stub;
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -30,7 +31,9 @@
 import javax.jcr.ItemNotFoundException;
 import javax.jcr.Node;
 import javax.jcr.Property;
+import org.jboss.dna.spi.ExecutionContext;
 import org.jboss.dna.spi.graph.Name;
+import org.jboss.dna.spi.graph.NamespaceRegistry;
 import org.jboss.dna.spi.graph.Path.Segment;
 import org.junit.Before;
 import org.junit.Test;
@@ -54,11 +57,13 @@
         root = new JcrRootNode(session);
         Segment segment = Mockito.mock(Segment.class);
         Name name = Mockito.mock(Name.class);
-        stub(name.getString()).toReturn("name");
+        stub(name.getString((NamespaceRegistry)anyObject())).toReturn("name");
         stub(segment.getName()).toReturn(name);
         stub(segment.getIndex()).toReturn(2);
         UUID uuid = UUID.randomUUID();
         node = new JcrNode(session, uuid, segment);
+        ExecutionContext context = Mockito.mock(ExecutionContext.class);
+        stub(session.getExecutionContext()).toReturn(context);
         stub(session.getNode(uuid)).toReturn(root);
         node.setProperties(new HashSet<Property>());
         node.setChildren(new ArrayList<Segment>());

Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrPropertyIteratorTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrPropertyIteratorTest.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrPropertyIteratorTest.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -28,7 +28,6 @@
 import java.util.Set;
 import javax.jcr.Property;
 import javax.jcr.PropertyIterator;
-import javax.jcr.Session;
 import org.jboss.dna.jcr.AbstractJcrNodeTest.MockAbstractJcrNode;
 import org.junit.Before;
 import org.junit.Test;
@@ -43,7 +42,7 @@
 
     private AbstractJcrNode node;
     @Mock
-    private Session session;
+    private JcrSession session;
     private Set<Property> properties;
 
     @Before

Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrRootNodeTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrRootNodeTest.java	2008-09-17 16:01:02 UTC (rev 526)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrRootNodeTest.java	2008-09-17 18:57:47 UTC (rev 527)
@@ -28,7 +28,6 @@
 import java.util.Set;
 import javax.jcr.ItemNotFoundException;
 import javax.jcr.Property;
-import javax.jcr.Session;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.MockitoAnnotations;
@@ -41,7 +40,7 @@
 
     private JcrRootNode root;
     @Mock
-    private Session session;
+    private JcrSession session;
     private Set<Property> properties;
 
     @Before




More information about the dna-commits mailing list