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  javax.jcr.Node node1
          A referenceable node in default workspace
protected  javax.jcr.Node node1W2
          A referenceable node in default workspace
protected  javax.jcr.Node node2
          A non-referenceable node in default workspace
protected  javax.jcr.Node node2W2
          A non-referenceable node in default workspace
protected  javax.jcr.Session rwSessionW2
          A read-write session for the non default workspace
protected  javax.jcr.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
 
Constructor Summary
WorkspaceCloneReferenceableTest()
           
 
Method Summary
protected  javax.jcr.Node addMixinReferenceableToNode(javax.jcr.Node node)
          add the mix:referenceable mixin type to a node.
protected  java.lang.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, failNotEquals, failNotSame, failSame, format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

superuserW2

protected javax.jcr.Session superuserW2
The superuser session for the non default workspace


rwSessionW2

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


node1W2

protected javax.jcr.Node node1W2
A referenceable node in default workspace


node2W2

protected javax.jcr.Node node2W2
A non-referenceable node in default workspace


node1

protected javax.jcr.Node node1
A referenceable node in default workspace


node2

protected javax.jcr.Node node2
A non-referenceable node in default workspace

Constructor Detail

WorkspaceCloneReferenceableTest

public WorkspaceCloneReferenceableTest()
Method Detail

testCloneNodesReferenceableNodesOriginalUUID

public void testCloneNodesReferenceableNodesOriginalUUID()
                                                  throws javax.jcr.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:
javax.jcr.RepositoryException
NotExecutableException

testCloneNodesRemoveExistingTrue

public void testCloneNodesRemoveExistingTrue()
                                      throws javax.jcr.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:
javax.jcr.RepositoryException
NotExecutableException

testCloneNodesRemoveExistingFalse

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

Throws:
javax.jcr.RepositoryException
NotExecutableException

testCloneNodesReferenceableAndNonreferenceable

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

Throws:
javax.jcr.RepositoryException
NotExecutableException

setUp

protected void setUp()
              throws java.lang.Exception
Throws:
java.lang.Exception

addMixinReferenceableToNode

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

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

tearDown

protected void tearDown()
                 throws java.lang.Exception
Throws:
java.lang.Exception

getOtherWorkspaceName

protected java.lang.String getOtherWorkspaceName()
                                          throws NotExecutableException
Throws:
NotExecutableException

initNodesW2

protected void initNodesW2()
                    throws javax.jcr.RepositoryException
Throws:
javax.jcr.RepositoryException


Copyright © 2004-2010 Apache Software Foundation. All Rights Reserved.