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
isReadOnly, jcrBaseVersion, jcrCopiedFrom, jcrCreated, jcrFrozenNode, jcrFrozenUuid, jcrIsCheckedOut, jcrlockIsDeep, jcrLockOwner, jcrMergeFailed, jcrMixinTypes, jcrPredecessors, jcrPrimaryType, jcrRootVersion, jcrSuccessors, jcrSystem, jcrUUID, jcrVersionHistory, mixLockable, mixReferenceable, mixShareable, mixSimpleVersionable, mixVersionable, nodeName1, nodeName2, nodeName3, nodeName4, NS_JCR_URI, NS_MIX_URI, NS_NT_URI, NS_SV_URI, ntBase, ntFrozenNode, ntQuery, ntUnstructured, ntVersion, ntVersionHistory, ntVersionLabels, propertyName1, propertyName2, superuser, testNodeType, testNodeTypeNoChildren, testPath, testRoot, testRootNode, vf, workspaceName
 
Fields inherited from class org.apache.jackrabbit.test.JUnitTest
log, logger
 
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
checkSupportedOption, cleanUp, cleanUpTestRoot, createRandomString, ensureCanSetProperty, ensureCanSetProperty, ensureCanSetProperty, ensureKnowsNodeType, ensureMixinType, ensureMultipleWorkspacesSupported, getHelper, getJcrValue, getLocalName, getNonExistingWorkspaceName, getProperty, 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,
                                                         NotExecutableException
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
NotExecutableException

testCloneNodesRemoveExistingTrue

public void testCloneNodesRemoveExistingTrue()
                                      throws RepositoryException,
                                             NotExecutableException
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
NotExecutableException

testCloneNodesRemoveExistingFalse

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

Throws:
RepositoryException
NotExecutableException

testCloneNodesReferenceableAndNonreferenceable

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

Throws:
RepositoryException
NotExecutableException

setUp

protected void setUp()
              throws Exception
Throws:
Exception

addMixinReferenceableToNode

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

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

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-2010 The Apache Software Foundation. All Rights Reserved.