org.apache.jackrabbit.test.api
Class WorkspaceCloneReferenceableTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.apache.jackrabbit.test.JUnitTest
              extended by org.apache.jackrabbit.test.AbstractJCRTest
                  extended by org.apache.jackrabbit.test.api.WorkspaceCloneReferenceableTest
All Implemented Interfaces:
junit.framework.Test

public class WorkspaceCloneReferenceableTest
extends AbstractJCRTest

WorkspaceCloneReferenceableTest contains tests for cloning referenceable nodes between workspaces.


Field Summary
protected  Node node1
          A referenceable node in default workspace
protected  Node node1W2
          A referenceable node in default workspace
protected  Node node2
          A non-referenceable node in default workspace
protected  Node node2W2
          A non-referenceable node in default workspace
protected  Session rwSessionW2
          A read-write session for the non default workspace
protected  Session superuserW2
          The superuser session for the non default workspace
 
Fields inherited from class org.apache.jackrabbit.test.AbstractJCRTest
helper, isReadOnly, jcrBaseVersion, jcrCreated, jcrFrozenNode, jcrFrozenUuid, jcrlockIsDeep, jcrLockOwner, jcrMergeFailed, jcrMixinTypes, jcrPredecessors, jcrPrimaryType, jcrRootVersion, jcrSuccessors, jcrSystem, jcrUUID, jcrVersionHistory, mixLockable, mixReferenceable, mixVersionable, nodeName1, nodeName2, nodeName3, nodeName4, NS_JCR_URI, NS_MIX_URI, NS_NT_URI, NS_SV_URI, ntBase, ntFrozenNode, ntQuery, ntVersion, ntVersionHistory, ntVersionLabels, propertyName1, propertyName2, superuser, testNodeType, testNodeTypeNoChildren, testPath, testRoot, testRootNode, workspaceName
 
Fields inherited from class org.apache.jackrabbit.test.JUnitTest
log
 
Constructor Summary
WorkspaceCloneReferenceableTest()
           
 
Method Summary
protected  Node addMixinReferenceableToNode(Node node)
          add the mix:referenceable mixin type to a node.
protected  String getOtherWorkspaceName()
           
protected  void initNodesW2()
           
protected  void setUp()
           
protected  void tearDown()
           
 void testCloneNodesReferenceableAndNonreferenceable()
          The clone method clones both referenceable and nonreferenceable nodes.
 void testCloneNodesReferenceableNodesOriginalUUID()
          In the case of referenceable nodes clone preserves the node's UUID so that the new node in the destination workspcace has the same UUID as the node in the source workspace.
 void testCloneNodesRemoveExistingFalse()
          If removeExisting is false then a UUID collision causes this method to throw a ItemExistsException and no changes are made.
 void testCloneNodesRemoveExistingTrue()
          If removeExisting is true then the existing node is removed from its current location and the cloned node with the same UUID from srcWorkspace is copied to this workspace as part of the copied subtree (that is, not into the former location of the old node).
 
Methods inherited from class org.apache.jackrabbit.test.AbstractJCRTest
cleanUp, cleanUpTestRoot, createRandomString, ensureCanSetProperty, ensureCanSetProperty, ensureCanSetProperty, ensureMultipleWorkspacesSupported, getNonExistingWorkspaceName, getProperty, getSize, isSupported, needsMixin, run
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, runBare, runTest, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

superuserW2

protected Session superuserW2
The superuser session for the non default workspace


rwSessionW2

protected Session rwSessionW2
A read-write session for the non default workspace


node1W2

protected Node node1W2
A referenceable node in default workspace


node2W2

protected Node node2W2
A non-referenceable node in default workspace


node1

protected Node node1
A referenceable node in default workspace


node2

protected Node node2
A non-referenceable node in default workspace

Constructor Detail

WorkspaceCloneReferenceableTest

public WorkspaceCloneReferenceableTest()
Method Detail

testCloneNodesReferenceableNodesOriginalUUID

public void testCloneNodesReferenceableNodesOriginalUUID()
                                                  throws RepositoryException
In the case of referenceable nodes clone preserves the node's UUID so that the new node in the destination workspcace has the same UUID as the node in the source workspace.

Throws:
RepositoryException

testCloneNodesRemoveExistingTrue

public void testCloneNodesRemoveExistingTrue()
                                      throws RepositoryException
If removeExisting is true then the existing node is removed from its current location and the cloned node with the same UUID from srcWorkspace is copied to this workspace as part of the copied subtree (that is, not into the former location of the old node). The subtree of the cloned node will reflect the clones state in srcWorkspace, in other words the existing node will be moved and changed.

Throws:
RepositoryException

testCloneNodesRemoveExistingFalse

public void testCloneNodesRemoveExistingFalse()
                                       throws RepositoryException
If removeExisting is false then a UUID collision causes this method to throw a ItemExistsException and no changes are made.

Throws:
RepositoryException

testCloneNodesReferenceableAndNonreferenceable

public void testCloneNodesReferenceableAndNonreferenceable()
                                                    throws RepositoryException
The clone method clones both referenceable and nonreferenceable nodes.

Throws:
RepositoryException

setUp

protected void setUp()
              throws Exception
Throws:
Exception

addMixinReferenceableToNode

protected Node addMixinReferenceableToNode(Node node)
                                    throws RepositoryException
add the mix:referenceable mixin type to a node.

Parameters:
node -
Returns:
referenceable node.
Throws:
RepositoryException

tearDown

protected void tearDown()
                 throws Exception
Throws:
Exception

getOtherWorkspaceName

protected String getOtherWorkspaceName()
                                throws NotExecutableException
Throws:
NotExecutableException

initNodesW2

protected void initNodesW2()
                    throws RepositoryException
Throws:
RepositoryException


Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.