diff --git a/src/main/java/org/alfresco/repo/content/transform/TransformerDebug.java b/src/main/java/org/alfresco/repo/content/transform/TransformerDebug.java index 5b07b03b7d..8874dbca34 100644 --- a/src/main/java/org/alfresco/repo/content/transform/TransformerDebug.java +++ b/src/main/java/org/alfresco/repo/content/transform/TransformerDebug.java @@ -1556,9 +1556,8 @@ public class TransformerDebug implements ApplicationContextAware debug(getMimetypeExt(sourceMimetype)+getMimetypeExt(targetMimetype) + ((fileName != null) ? fileName+' ' : "")+ ((sourceSize >= 0) ? fileSize(sourceSize)+' ' : "") + - (renditionName != null ? "-- "+renditionName+" -- " : "") + " RenditionService2"); + (renditionName != null ? "-- "+renditionName+" -- " : "") + " TransformService"); debug(sourceNodeRef.toString() + ' ' +contentHashcode); - debug(" **a) [01] TransformService"); return pop(Call.AVAILABLE, true, false); } diff --git a/src/main/java/org/alfresco/repo/rendition2/LegacySynchronousTransformClient.java b/src/main/java/org/alfresco/repo/rendition2/LegacySynchronousTransformClient.java index c8a166dfab..23ea6cba3c 100644 --- a/src/main/java/org/alfresco/repo/rendition2/LegacySynchronousTransformClient.java +++ b/src/main/java/org/alfresco/repo/rendition2/LegacySynchronousTransformClient.java @@ -111,4 +111,10 @@ public class LegacySynchronousTransformClient extends ContentTransformServiceImp throw e; } } + + @Override + public String getName() + { + return "Legacy"; + } } diff --git a/src/main/java/org/alfresco/repo/rendition2/LocalSynchronousTransformClient.java b/src/main/java/org/alfresco/repo/rendition2/LocalSynchronousTransformClient.java index 3d2fdc95a5..e128b80808 100644 --- a/src/main/java/org/alfresco/repo/rendition2/LocalSynchronousTransformClient.java +++ b/src/main/java/org/alfresco/repo/rendition2/LocalSynchronousTransformClient.java @@ -140,4 +140,10 @@ public class LocalSynchronousTransformClient implements SynchronousTransformClie throw e; } } + + @Override + public String getName() + { + return "Local"; + } } diff --git a/src/main/java/org/alfresco/repo/rendition2/SwitchingSynchronousTransformClient.java b/src/main/java/org/alfresco/repo/rendition2/SwitchingSynchronousTransformClient.java index e15ba0c33b..2c19647731 100644 --- a/src/main/java/org/alfresco/repo/rendition2/SwitchingSynchronousTransformClient.java +++ b/src/main/java/org/alfresco/repo/rendition2/SwitchingSynchronousTransformClient.java @@ -64,18 +64,27 @@ public class SwitchingSynchronousTransformClient implements SynchronousTransform public boolean isSupported(String sourceMimetype, long sourceSizeInBytes, String contentUrl, String targetMimetype, Map actualOptions, String transformName, NodeRef sourceNodeRef) { - boolean supported = - primary.isSupported(sourceMimetype, sourceSizeInBytes, contentUrl, targetMimetype, actualOptions, - transformName, sourceNodeRef) || - secondary.isSupported(sourceMimetype, sourceSizeInBytes, contentUrl, targetMimetype, actualOptions, - transformName, sourceNodeRef); + SynchronousTransformClient client = null; + + if (primary.isSupported(sourceMimetype, sourceSizeInBytes, contentUrl, targetMimetype, actualOptions, + transformName, sourceNodeRef)) + { + client = primary; + } + else if (secondary.isSupported(sourceMimetype, sourceSizeInBytes, contentUrl, targetMimetype, actualOptions, + transformName, sourceNodeRef)) + { + client = secondary; + } + if (transformerDebug.isEnabled()) { String renditionName = TransformDefinition.convertToRenditionName(transformName); transformerDebug.debug(sourceMimetype, targetMimetype, sourceNodeRef, sourceSizeInBytes, renditionName, - " is "+(supported ? "" : "not ")+"supported"); + "synchronous transform is "+ + (client == null ? "NOT supported" : "supported by "+client.getName())); } - return supported; + return client != null; } @Override @@ -98,4 +107,11 @@ public class SwitchingSynchronousTransformClient implements SynchronousTransform } } } + + @Override + public String getName() + { + // If we start nesting SwitchingSynchronousTransformClients, we will need to get the current client from a ThreadLocal + throw new UnsupportedOperationException("SwitchingSynchronousTransformClients cannot be nested"); + } } diff --git a/src/main/java/org/alfresco/repo/rendition2/SynchronousTransformClient.java b/src/main/java/org/alfresco/repo/rendition2/SynchronousTransformClient.java index c0952af2fc..c91a501ea5 100644 --- a/src/main/java/org/alfresco/repo/rendition2/SynchronousTransformClient.java +++ b/src/main/java/org/alfresco/repo/rendition2/SynchronousTransformClient.java @@ -81,4 +81,9 @@ public interface SynchronousTransformClient void transform(ContentReader reader, ContentWriter writer, Map actualOptions, String transformName, NodeRef sourceNodeRef) throws UnsupportedTransformationException, ContentIOException; + + /** + * @return type of transform (Local, Legacy) for use in debug. + */ + String getName(); } diff --git a/src/test/java/org/alfresco/repo/thumbnail/ThumbnailServiceImplTest.java b/src/test/java/org/alfresco/repo/thumbnail/ThumbnailServiceImplTest.java index 8ce6cd2eea..0f567ce18f 100644 --- a/src/test/java/org/alfresco/repo/thumbnail/ThumbnailServiceImplTest.java +++ b/src/test/java/org/alfresco/repo/thumbnail/ThumbnailServiceImplTest.java @@ -1568,6 +1568,12 @@ public class ThumbnailServiceImplTest extends BaseAlfrescoSpringTest delegate.transform(reader, writer, actualOptions, transformName, sourceNodeRef); } } + + @Override + public String getName() + { + return delegate.getName(); + } } /**