transfer service : work in progress.

implementation of transfer requsite.
    API change isComplete to isSync

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21130 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mark Rogers
2010-07-13 14:04:23 +00:00
parent eece9fef5e
commit e468ab3a4b
26 changed files with 1294 additions and 72 deletions

View File

@@ -724,6 +724,45 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
endTransaction();
}
startNewTransaction();
try
{
/**
* Transfer our node again - so this is an update
*/
{
TransferDefinition definition = new TransferDefinition();
Set<NodeRef>nodes = new HashSet<NodeRef>();
nodes.add(contentNodeRef);
definition.setNodes(nodes);
transferService.transfer(targetName, definition);
}
}
finally
{
endTransaction();
}
/**
* Now transfer nothing - content items do not need to be transferred since its alrady on
* the destination.
*/
startNewTransaction();
try
{
TransferDefinition definition = new TransferDefinition();
Set<NodeRef>nodes = new HashSet<NodeRef>();
nodes.add(contentNodeRef);
definition.setNodes(nodes);
transferService.transfer(targetName, definition);
}
finally
{
endTransaction();
}
/**
* Negative test transfer nothing
*/
@@ -1864,20 +1903,30 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
* Tree of nodes
*
* A1
* | | |
* A2 A3 (Content) B6
* | | |
* A2 A3 (Content Node) B6
* |
* A4 A5 B7 (content)
* A4 A5 B7 (Content Node)
*
* Test steps -
* 1 add A1
* transfer(sync)
* 2 add A2, A3, A4, A5
* 3 remove A2 (A4 and A5 should cascade delete on source)
* transfer(sync)
* 3 remove A2
* transfer(sync) A4 and A5 should cascade delete on source
* 4 remove A3
* 5 add back A3
* transfer(sync)
* 5 add back A3 - new node ref
* transfer(sync)
* 6 add A2, A4, A5
* 7 add B6 and B7 directly to target (so not transferred) transfer again.
*
* transfer(sync)
* 7 add B6 and B7 directly to target (so not transferred)
* transfer again, B6 and B7 should not be removed.
* 8 remove A2 (A2, A5, B7) should go. TODO is it correct that B7 goes?
* transfer
* restore node A2
* transfer
*/
public void testTransferSyncNodes() throws Exception
{
@@ -2011,7 +2060,7 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
Set<NodeRef>nodes = new HashSet<NodeRef>();
nodes.add(A1NodeRef);
definition.setNodes(nodes);
definition.setComplete(true);
definition.setSync(true);
transferService.transfer(targetName, definition);
}
}
@@ -2056,7 +2105,7 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
nodes.add(A4NodeRef);
nodes.add(A5NodeRef);
definition.setNodes(nodes);
definition.setComplete(true);
definition.setSync(true);
transferService.transfer(targetName, definition);
}
}
@@ -2113,7 +2162,7 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
//nodes.add(A4NodeRef);
//nodes.add(A5NodeRef);
definition.setNodes(nodes);
definition.setComplete(true);
definition.setSync(true);
transferService.transfer(targetName, definition);
}
}
@@ -2169,7 +2218,7 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
//nodes.add(A4NodeRef);
//nodes.add(A5NodeRef);
definition.setNodes(nodes);
definition.setComplete(true);
definition.setSync(true);
transferService.transfer(targetName, definition);
}
}
@@ -2232,7 +2281,7 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
//nodes.add(A4NodeRef);
//nodes.add(A5NodeRef);
definition.setNodes(nodes);
definition.setComplete(true);
definition.setSync(true);
transferService.transfer(targetName, definition);
}
}
@@ -2319,7 +2368,7 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
nodes.add(A4NodeRef);
nodes.add(A5NodeRef);
definition.setNodes(nodes);
definition.setComplete(true);
definition.setSync(true);
transferService.transfer(targetName, definition);
}
}
@@ -2397,7 +2446,7 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
nodes.add(A4NodeRef);
nodes.add(A5NodeRef);
definition.setNodes(nodes);
definition.setComplete(true);
definition.setSync(true);
transferService.transfer(targetName, definition);
}
}
@@ -2425,6 +2474,123 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
{
endTransaction();
}
//TODO BUGBUG - test fails
// /** Step 8
// * remove A2 (A2, A5, B7) should go. TODO is it correct that B7 goes?
// * transfer
// * restore node A2
// * transfer
// */
// /**
// * Step 3 - remove folder node A2
// */
// startNewTransaction();
// try
// {
// nodeService.deleteNode(A2NodeRef);
// }
// finally
// {
// endTransaction();
// }
//
// startNewTransaction();
// try
// {
// /**
// * Transfer Node A 1-5
// */
// {
// TransferDefinition definition = new TransferDefinition();
// Set<NodeRef>nodes = new HashSet<NodeRef>();
// nodes.add(A1NodeRef);
// //nodes.add(A2NodeRef);
// nodes.add(A3NodeRef);
// //nodes.add(A4NodeRef);
// //nodes.add(A5NodeRef);
// definition.setNodes(nodes);
// definition.setSync(true);
// transferService.transfer(targetName, definition);
// }
// }
// finally
// {
// endTransaction();
// }
//
// startNewTransaction();
// try
// {
// // Now validate that the target node exists and has similar properties to the source
// destNodeRef = testNodeFactory.getMappedNodeRef(A1NodeRef);
// assertFalse("unit test stuffed up - comparing with self", destNodeRef.equals(transferMe.getNodeRef()));
// assertTrue("dest node ref A1 does not exist", nodeService.exists(testNodeFactory.getMappedNodeRef(A1NodeRef)));
// assertFalse("dest node ref A2 has not been deleted", nodeService.exists(testNodeFactory.getMappedNodeRef(A2NodeRef)));
// assertTrue("dest node ref A3 does not exist", nodeService.exists(testNodeFactory.getMappedNodeRef(A3NodeRef)));
// assertFalse("dest node ref A4 has not been deleted", nodeService.exists(testNodeFactory.getMappedNodeRef(A4NodeRef)));
// assertFalse("dest node ref A5 has not been deleted", nodeService.exists(testNodeFactory.getMappedNodeRef(A5NodeRef)));
// // assertFalse("dest node B6 has not been deleted", nodeService.exists(B6NodeRef));
// // assertTrue("dest node B7 does not exist", nodeService.exists(B7NodeRef));
// }
// finally
// {
// endTransaction();
// }
//
// startNewTransaction();
// try
// {
// NodeRef archivedNode = new NodeRef(StoreRef.STORE_REF_ARCHIVE_SPACESSTORE, A2NodeRef.getId());
// nodeService.restoreNode(archivedNode, A1NodeRef, ContentModel.ASSOC_CONTAINS, QName.createQName("A2"));
// }
// finally
// {
// endTransaction();
// }
// startNewTransaction();
// try
// {
// /**
// * Transfer Node A 1-5, B6 and B7 should remain untouched.
// */
// {
// TransferDefinition definition = new TransferDefinition();
// Set<NodeRef>nodes = new HashSet<NodeRef>();
// nodes.add(A1NodeRef);
// nodes.add(A2NodeRef);
// nodes.add(A3NodeRef);
// nodes.add(A4NodeRef);
// nodes.add(A5NodeRef);
// definition.setNodes(nodes);
// definition.setSync(true);
// transferService.transfer(targetName, definition);
// }
// }
// finally
// {
// endTransaction();
// }
//
// startNewTransaction();
// try
// {
// // Now validate that the target node exists and has similar properties to the source
// destNodeRef = testNodeFactory.getMappedNodeRef(A1NodeRef);
// assertFalse("unit test stuffed up - comparing with self", destNodeRef.equals(transferMe.getNodeRef()));
// assertTrue("dest node ref A1 does not exist", nodeService.exists(testNodeFactory.getMappedNodeRef(A1NodeRef)));
// assertTrue("dest node ref A2 does not exist", nodeService.exists(testNodeFactory.getMappedNodeRef(A2NodeRef)));
// assertTrue("dest node ref A3 does not exist", nodeService.exists(testNodeFactory.getMappedNodeRef(A3NodeRef)));
// assertTrue("dest node ref A4 does not exist", nodeService.exists(testNodeFactory.getMappedNodeRef(A4NodeRef)));
// assertTrue("dest node ref A5 does not exist", nodeService.exists(testNodeFactory.getMappedNodeRef(A5NodeRef)));
// // assertFalse("dest node B6 has not been deleted", nodeService.exists(B6NodeRef));
// // assertTrue("dest node B7 does not exist", nodeService.exists(B7NodeRef));
// }
// finally
// {
// endTransaction();
// }
}
private TransferTarget createTransferTarget(String name)
@@ -2433,7 +2599,7 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
String description = "description";
String endpointProtocol = "http";
String endpointHost = "MARKR02";
int endpointPort = 6080;
int endpointPort = 7080;
String endpointPath = "/alfresco/service/api/transfer";
String username = "admin";
char[] password = "admin".toCharArray();
@@ -2444,5 +2610,4 @@ public class TransferServiceImplTest extends BaseAlfrescoSpringTest
TransferTarget target = transferService.createAndSaveTransferTarget(name, title, description, endpointProtocol, endpointHost, endpointPort, endpointPath, username, password);
return target;
}
}