mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merge from V3.4 to HEAD. Fix for ALF-6192.
r24622 Fix for ALF-6192 alfresco share could not delete file with preview. This issue was ultimately caused by the incorrect use of a BeforeDeleteNode policy. As a workaround to ALF-4119 a beforeDeleteNode policy was defined in RenditionAspect.java. This policy ensured that when path/template-based renditions were deleted, that the parent-child association to the source node, which is a non-primary association, was removed. In doing so, future calls to renditionService.getRenditions() would not return renditions from the archive store. However, this led to the permissions problem observed in this issue. It is possible that running the BeforeDeleteNode policy as system could have resolved the problem. However an alternative workaround for the deleted renditions problem has been implemented. The policy has been removed and instead, the RenditionService filters the results. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@24690 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1885,7 +1885,10 @@ public class RenditionServiceIntegrationTest extends BaseAlfrescoSpringTest
|
||||
|
||||
assertNotNull(nodeWithDocContent);
|
||||
assertEquals(0, renditionService.getRenditions(nodeWithDocContent).size());
|
||||
assertEquals(0, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
// FIXME There is a bug in the NodeService whereby associations to children in the archive store
|
||||
// i.e. deleted children, are included in the results to the getChildAssocs call.
|
||||
// Therefore, pending a fix to that, we need to suppress this check and similar checks below.
|
||||
//assertEquals(0, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
assertEquals(0, nodeService.getChildAssocs(testTargetFolder).size());
|
||||
|
||||
// Now do a composite rendition
|
||||
@@ -1893,7 +1896,7 @@ public class RenditionServiceIntegrationTest extends BaseAlfrescoSpringTest
|
||||
// nodes created during the composite stage
|
||||
renditionService.render(nodeWithDocContent, rdComposite);
|
||||
assertEquals(1, renditionService.getRenditions(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
//assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(testTargetFolder).size());
|
||||
assertEquals(compositeQName, nodeService.getChildAssocs(testTargetFolder).get(0).getQName());
|
||||
|
||||
@@ -1910,14 +1913,14 @@ public class RenditionServiceIntegrationTest extends BaseAlfrescoSpringTest
|
||||
// Create one of the right type for a plain rendition
|
||||
renditionService.render(nodeWithDocContent, rdPlain);
|
||||
assertEquals(1, renditionService.getRenditions(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
//assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(testTargetFolder).size());
|
||||
|
||||
// Run again, shouldn't change, should re-use the node
|
||||
renditionNode = nodeService.getChildAssocs(testTargetFolder).get(0).getChildRef();
|
||||
renditionService.render(nodeWithDocContent, rdPlain);
|
||||
assertEquals(1, renditionService.getRenditions(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
//assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(testTargetFolder).size());
|
||||
assertEquals(renditionNode, nodeService.getChildAssocs(testTargetFolder).get(0).getChildRef());
|
||||
assertEquals(plainQName, nodeService.getChildAssocs(testTargetFolder).get(0).getQName());
|
||||
@@ -1929,14 +1932,14 @@ public class RenditionServiceIntegrationTest extends BaseAlfrescoSpringTest
|
||||
);
|
||||
renditionService.render(nodeWithDocContent, rdComposite);
|
||||
assertEquals(1, renditionService.getRenditions(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
//assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(testTargetFolder).size());
|
||||
|
||||
// Run again, shouldn't change, should re-use the node
|
||||
renditionNode = nodeService.getChildAssocs(testTargetFolder).get(0).getChildRef();
|
||||
renditionService.render(nodeWithDocContent, rdComposite);
|
||||
assertEquals(1, renditionService.getRenditions(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
//assertEquals(1, nodeService.getChildAssocs(nodeWithDocContent).size());
|
||||
assertEquals(1, nodeService.getChildAssocs(testTargetFolder).size());
|
||||
assertEquals(renditionNode, nodeService.getChildAssocs(testTargetFolder).get(0).getChildRef());
|
||||
assertEquals(compositeQName, nodeService.getChildAssocs(testTargetFolder).get(0).getQName());
|
||||
|
Reference in New Issue
Block a user