From 436352d8a1952d83d951abca5ec9b345ec2bc7ee Mon Sep 17 00:00:00 2001 From: Dave Ward Date: Fri, 2 Mar 2012 18:33:18 +0000 Subject: [PATCH] Merged V4.0-BUG-FIX to HEAD 34386: Merged V4.0 to V4.0-BUG-FIX 34384: Fixed further merge problem 34385: Merge V3.4-BUG-FIX (3.4.9) to V4.0 (V4.0.1) 34381: Merged V3.4 (3.4.8) to V3.4-BUG-FIX (3.4.9) 34378: ALF-13030 ALF-13041 Transformer Server needs filename and to make its transformer preferred over OpenOffice and JOD Relates to ALF-10976 and ALF-10412 set of changes - The last commit to make the sourceNodeRef available to the first child transformer of a ComplexContentTransformer made it available to them all. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@34387 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/content-services-context.xml | 3 --- .../transform/ComplexContentTransformer.java | 20 +++++++++---------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/config/alfresco/content-services-context.xml b/config/alfresco/content-services-context.xml index f6ea0ba147..4d8a38b340 100644 --- a/config/alfresco/content-services-context.xml +++ b/config/alfresco/content-services-context.xml @@ -115,9 +115,6 @@ - - - diff --git a/source/java/org/alfresco/repo/content/transform/ComplexContentTransformer.java b/source/java/org/alfresco/repo/content/transform/ComplexContentTransformer.java index da96bb4cf8..aedde22ce3 100644 --- a/source/java/org/alfresco/repo/content/transform/ComplexContentTransformer.java +++ b/source/java/org/alfresco/repo/content/transform/ComplexContentTransformer.java @@ -322,7 +322,6 @@ public class ComplexContentTransformer extends AbstractContentTransformer2 imple Iterator transformerIterator = transformers.iterator(); Iterator intermediateMimetypeIterator = intermediateMimetypes.iterator(); - boolean first = true; while (transformerIterator.hasNext()) { ContentTransformer transformer = transformerIterator.next(); @@ -343,18 +342,19 @@ public class ComplexContentTransformer extends AbstractContentTransformer2 imple "." + targetExt); currentWriter = new FileContentWriter(tempFile); currentWriter.setMimetype(nextMimetype); - - // Must clear the sourceNodeRef to avoid transformers thinking the temporary file - // is the original node. Not done for the first transformer as the name will be - // correct. - if (!first) - { - options.setSourceNodeRef(null); - } - first = false; } + // transform transformer.transform(currentReader, currentWriter, options); + + // Must clear the sourceNodeRef after the first transformation to avoid later + // transformers thinking the intermediate file is the original node. However as + // we put the original sourceNodeRef back at the end of this try block (so that we are + // not changing any data), we must setting the value to null just after the + // transformation. Really only needs to be done after the first transformation + // but doing it every time is simpler and faster. + options.setSourceNodeRef(null); + // move the source on currentReader = currentWriter.getReader(); }