Refactor of RenditionService internals.

RenditionNodeManager and calling code.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@23144 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Neil McErlean
2010-10-15 14:00:53 +00:00
parent 240fc47a92
commit 4c20220a80
4 changed files with 354 additions and 169 deletions

View File

@@ -19,12 +19,17 @@
package org.alfresco.repo.rendition;
import static org.mockito.Mockito.*;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import junit.framework.TestCase;
import org.alfresco.model.ContentModel;
import org.alfresco.model.RenditionModel;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.service.cmr.rendition.RenditionDefinition;
import org.alfresco.service.cmr.rendition.RenditionService;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -32,16 +37,13 @@ import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import com.sun.tools.xjc.reader.gbind.SourceNode;
import junit.framework.TestCase;
/**
* @author Nick Smith
*/
public class RenditionNodeManagerTest extends TestCase
{
private final NodeService nodeService = mock(NodeService.class);
private final RenditionService renditionService = mock(RenditionService.class);
private final NodeRef source = new NodeRef("http://test/sourceId");
private final NodeRef destination = new NodeRef("http://test/destinationId");
@@ -57,7 +59,7 @@ public class RenditionNodeManagerTest extends TestCase
ChildAssociationRef parentAssoc = makeAssoc(source, destination, true);
when(nodeService.getPrimaryParent(any(NodeRef.class))).thenReturn(parentAssoc);
RenditionLocation location = new RenditionLocationImpl(source, destination, "destinationName");
RenditionNodeManager manager = new RenditionNodeManager(source, null, location, definition, nodeService);
RenditionNodeManager manager = new RenditionNodeManager(source, null, location, definition, nodeService, renditionService);
ChildAssociationRef result = manager.findOrCreateRenditionNode();
assertEquals(parentAssoc, result);
}
@@ -72,7 +74,7 @@ public class RenditionNodeManagerTest extends TestCase
.thenReturn(parentAssoc);
RenditionLocation location = new RenditionLocationImpl(source, null, renditionName.getLocalName());
RenditionNodeManager manager = new RenditionNodeManager(source, null, location, definition, nodeService);
RenditionNodeManager manager = new RenditionNodeManager(source, null, location, definition, nodeService, renditionService);
ChildAssociationRef result = manager.findOrCreateRenditionNode();
assertEquals(parentAssoc, result);
}
@@ -88,7 +90,7 @@ public class RenditionNodeManagerTest extends TestCase
.thenReturn(parentAssoc);
RenditionLocation location = new RenditionLocationImpl(parent, null, renditionName.getLocalName());
RenditionNodeManager manager = new RenditionNodeManager(source, null, location, definition, nodeService);
RenditionNodeManager manager = new RenditionNodeManager(source, null, location, definition, nodeService, renditionService);
ChildAssociationRef result = manager.findOrCreateRenditionNode();
assertEquals(parentAssoc, result);
// Check the rendition association is created.
@@ -101,7 +103,7 @@ public class RenditionNodeManagerTest extends TestCase
public void testHasOldRenditionMatchesSpecifiedDestinationNode()
{
RenditionLocation location = new RenditionLocationImpl(source, oldRendition, renditionName.getLocalName());
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService, renditionService);
manager.findOrCreateRenditionNode();
verify(nodeService).getPrimaryParent(oldRendition);
}
@@ -116,7 +118,7 @@ public class RenditionNodeManagerTest extends TestCase
when(nodeService.getPrimaryParent(oldRendition)).thenReturn(parentAssoc);
RenditionLocation location = new RenditionLocationImpl(parent, null, null);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService, renditionService);
ChildAssociationRef result = manager.findOrCreateRenditionNode();
assertEquals(parentAssoc, result);
verify(nodeService, times(2)).getPrimaryParent(oldRendition);
@@ -135,7 +137,7 @@ public class RenditionNodeManagerTest extends TestCase
.thenReturn(rendName);
RenditionLocationImpl location = new RenditionLocationImpl(parent, null, rendName);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService, renditionService);
ChildAssociationRef result = manager.findOrCreateRenditionNode();
assertEquals(parentAssoc, result);
verify(nodeService, times(2)).getPrimaryParent(oldRendition);
@@ -154,7 +156,7 @@ public class RenditionNodeManagerTest extends TestCase
when(nodeService.moveNode(oldRendition, parent, ContentModel.ASSOC_CONTAINS, renditionName))
.thenReturn(parentAssoc);
RenditionLocationImpl location = new RenditionLocationImpl(parent, null, null);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService, renditionService);
ChildAssociationRef result = manager.findOrCreateRenditionNode();
assertEquals(parentAssoc, result);
verify(nodeService).moveNode(oldRendition, parent, ContentModel.ASSOC_CONTAINS, renditionName);
@@ -164,7 +166,7 @@ public class RenditionNodeManagerTest extends TestCase
when(nodeService.moveNode(oldRendition, source, RenditionModel.ASSOC_RENDITION, renditionName))
.thenReturn(sourceAssoc);
location = new RenditionLocationImpl(source, null, null);
manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService);
manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService, renditionService);
result = manager.findOrCreateRenditionNode();
assertEquals(sourceAssoc, result);
verify(nodeService).moveNode(oldRendition, source, RenditionModel.ASSOC_RENDITION, renditionName);
@@ -178,7 +180,7 @@ public class RenditionNodeManagerTest extends TestCase
when(nodeService.moveNode(oldRendition, newParent, ContentModel.ASSOC_CONTAINS, renditionName))
.thenReturn(newParentAssoc);
location = new RenditionLocationImpl(newParent, null, null);
manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService);
manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService, renditionService);
result = manager.findOrCreateRenditionNode();
assertEquals(newParentAssoc, result);
verify(nodeService).moveNode(oldRendition, newParent, ContentModel.ASSOC_CONTAINS, renditionName);
@@ -200,7 +202,7 @@ public class RenditionNodeManagerTest extends TestCase
String newName = "newName";
RenditionLocationImpl location = new RenditionLocationImpl(parent, null, newName);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService);
RenditionNodeManager manager = new RenditionNodeManager(source, oldRendition, location, definition, nodeService, renditionService);
ChildAssociationRef result = manager.findOrCreateRenditionNode();
assertEquals(parentAssoc, result);
verify(nodeService).moveNode(oldRendition, parent, ContentModel.ASSOC_CONTAINS, renditionName);