[dna-commits] DNA SVN: r1371 - 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
Mon Nov 30 15:08:49 EST 2009


Author: rhauch
Date: 2009-11-30 15:08:48 -0500 (Mon, 30 Nov 2009)
New Revision: 1371

Modified:
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrRepository.java
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrWorkspace.java
   trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/WorkspaceLockManager.java
   trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractSessionTest.java
   trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/WorkspaceLockManagerTest.java
Log:
Merge branch 'dna-548'

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrRepository.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrRepository.java	2009-11-30 19:40:58 UTC (rev 1370)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrRepository.java	2009-11-30 20:08:48 UTC (rev 1371)
@@ -424,8 +424,9 @@
         // Right now, the other nodes will be created as needed
     }
 
-    Graph createWorkspaceGraph( String workspaceName ) {
-        Graph graph = Graph.create(this.federatedSource, this.executionContext);
+    Graph createWorkspaceGraph( String workspaceName,
+                                ExecutionContext workspaceContext ) {
+        Graph graph = Graph.create(this.federatedSource, workspaceContext);
         graph.useWorkspace(workspaceName);
         return graph;
     }

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrWorkspace.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrWorkspace.java	2009-11-30 19:40:58 UTC (rev 1370)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrWorkspace.java	2009-11-30 20:08:48 UTC (rev 1371)
@@ -102,7 +102,7 @@
 
     /**
      * The reference to the {@link JcrRepository} instance that owns this {@link Workspace} instance. Very few methods on this
-     * repository object are used; mainly {@link JcrRepository#createWorkspaceGraph(String)},
+     * repository object are used; mainly {@link JcrRepository#createWorkspaceGraph(String,ExecutionContext)},
      * {@link JcrRepository#getPersistentRegistry()} and {@link JcrRepository#getRepositorySourceName()}.
      */
     private final JcrRepository repository;
@@ -158,7 +158,7 @@
         this.context = context.with(local);
 
         // Now create a graph for the session ...
-        this.graph = this.repository.createWorkspaceGraph(workspaceName);
+        this.graph = this.repository.createWorkspaceGraph(this.name, this.context);
 
         // Set up the session for this workspace ...
         this.session = new JcrSession(this.repository, this, this.context, globalRegistry, sessionAttributes);
@@ -312,7 +312,7 @@
             /*
              * Find the UUID for the source node.  Have to go directly against the graph.
              */
-            org.jboss.dna.graph.Node sourceNode = repository.createWorkspaceGraph(srcWorkspace).getNodeAt(srcPath);
+            org.jboss.dna.graph.Node sourceNode = repository.createWorkspaceGraph(srcWorkspace, context).getNodeAt(srcPath);
             Property uuidProp = sourceNode.getProperty(DnaLexicon.UUID);
 
             if (uuidProp != null) {
@@ -467,7 +467,7 @@
             /*
              * Find the UUID for the source node.  Have to go directly against the graph.
              */
-            org.jboss.dna.graph.Node sourceNode = repository.createWorkspaceGraph(srcWorkspace).getNodeAt(srcPath);
+            org.jboss.dna.graph.Node sourceNode = repository.createWorkspaceGraph(srcWorkspace, context).getNodeAt(srcPath);
             Property uuidProp = sourceNode.getProperty(DnaLexicon.UUID);
 
             if (uuidProp != null) {

Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/WorkspaceLockManager.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/WorkspaceLockManager.java	2009-11-30 19:40:58 UTC (rev 1370)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/WorkspaceLockManager.java	2009-11-30 20:08:48 UTC (rev 1371)
@@ -160,7 +160,7 @@
                                DnaLock lock,
                                boolean isDeep ) throws RepositoryException {
         // Write them directly to the underlying graph
-        Graph.Batch workspaceBatch = repository.createWorkspaceGraph(workspaceName).batch();
+        Graph.Batch workspaceBatch = repository.createWorkspaceGraph(workspaceName, session.getExecutionContext()).batch();
         workspaceBatch.set(lockOwnerProp, lockIsDeepProp).on(nodeUuid);
         if (isDeep) {
             workspaceBatch.lock(nodeUuid).andItsDescendants().withDefaultTimeout();
@@ -195,7 +195,7 @@
             batch.remove(JcrLexicon.LOCK_OWNER, JcrLexicon.LOCK_IS_DEEP).on(lock.nodeUuid);
             batch.execute();
 
-            unlockNodeInRepository(lock);
+            unlockNodeInRepository(session, lock);
 
             workspaceLocksByNodeUuid.remove(lock.nodeUuid);
         } catch (PathNotFoundException pnfe) {
@@ -221,10 +221,12 @@
      * /jcr:system/dna:locks} subgraph.
      * </p>
      * 
+     * @param session the session in which the node is being unlocked
      * @param lock
      */
-    void unlockNodeInRepository( DnaLock lock ) {
-        Graph.Batch workspaceBatch = repository.createWorkspaceGraph(this.workspaceName).batch();
+    void unlockNodeInRepository( JcrSession session,
+                                 DnaLock lock ) {
+        Graph.Batch workspaceBatch = repository.createWorkspaceGraph(this.workspaceName, session.getExecutionContext()).batch();
 
         workspaceBatch.remove(JcrLexicon.LOCK_OWNER, JcrLexicon.LOCK_IS_DEEP).on(lock.nodeUuid);
         workspaceBatch.unlock(lock.nodeUuid);

Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractSessionTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractSessionTest.java	2009-11-30 19:40:58 UTC (rev 1370)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/AbstractSessionTest.java	2009-11-30 20:08:48 UTC (rev 1371)
@@ -23,6 +23,7 @@
  */
 package org.jboss.dna.jcr;
 
+import static org.mockito.Matchers.anyObject;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.stub;
 import java.io.IOException;
@@ -137,7 +138,7 @@
         stub(repository.getRepositoryTypeManager()).toReturn(repoTypeManager);
         stub(repository.getRepositorySourceName()).toReturn(repositorySourceName);
         stub(repository.getPersistentRegistry()).toReturn(context.getNamespaceRegistry());
-        stub(repository.createWorkspaceGraph(anyString())).toAnswer(new Answer<Graph>() {
+        stub(repository.createWorkspaceGraph(anyString(), (ExecutionContext)anyObject())).toAnswer(new Answer<Graph>() {
             public Graph answer( InvocationOnMock invocation ) throws Throwable {
                 return graph;
             }

Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/WorkspaceLockManagerTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/WorkspaceLockManagerTest.java	2009-11-30 19:40:58 UTC (rev 1370)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/WorkspaceLockManagerTest.java	2009-11-30 20:08:48 UTC (rev 1371)
@@ -3,6 +3,7 @@
 import static org.hamcrest.core.Is.is;
 import static org.hamcrest.core.IsInstanceOf.instanceOf;
 import static org.junit.Assert.assertThat;
+import static org.mockito.Matchers.anyObject;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.stub;
@@ -71,7 +72,7 @@
         stub(repository.getRepositoryTypeManager()).toReturn(repoTypeManager);
         stub(repository.getRepositorySourceName()).toReturn(sourceName);
         stub(repository.getPersistentRegistry()).toReturn(context.getNamespaceRegistry());
-        stub(repository.createWorkspaceGraph(anyString())).toAnswer(new Answer<Graph>() {
+        stub(repository.createWorkspaceGraph(anyString(), (ExecutionContext)anyObject())).toAnswer(new Answer<Graph>() {
             public Graph answer( InvocationOnMock invocation ) throws Throwable {
                 return graph;
             }
@@ -150,7 +151,9 @@
     @Test
     public void shouldCreateLockRequestWhenUnlockingNode() {
         DnaLock lock = workspaceLockManager.createLock("testOwner", UUID.randomUUID(), validUuid, false, false);
-        workspaceLockManager.unlockNodeInRepository(lock);
+        JcrSession session = mock(JcrSession.class);
+        stub(session.getExecutionContext()).toReturn(context);
+        workspaceLockManager.unlockNodeInRepository(session, lock);
 
         assertNextRequestIsUnlock(validLocation);
     }



More information about the dna-commits mailing list