diff --git a/config/alfresco/thumbnail-service-context.xml b/config/alfresco/thumbnail-service-context.xml index 1ee9d7d99a..668c0f8700 100644 --- a/config/alfresco/thumbnail-service-context.xml +++ b/config/alfresco/thumbnail-service-context.xml @@ -46,19 +46,24 @@ + + + - + - + medium doclib webpreview imgpreview avatar - - + + + diff --git a/source/java/org/alfresco/repo/thumbnail/ThumbnailRegistry.java b/source/java/org/alfresco/repo/thumbnail/ThumbnailRegistry.java index 1b90821b24..917bdf02b8 100644 --- a/source/java/org/alfresco/repo/thumbnail/ThumbnailRegistry.java +++ b/source/java/org/alfresco/repo/thumbnail/ThumbnailRegistry.java @@ -55,6 +55,19 @@ public class ThumbnailRegistry /** Cache to store mimetype to thumbnailDefinition mapping */ private Map> mimetypeMap = new HashMap>(17); + + private ThumbnailRenditionConvertor thumbnailRenditionConvertor; + + public void setThumbnailRenditionConvertor( + ThumbnailRenditionConvertor thumbnailRenditionConvertor) + { + this.thumbnailRenditionConvertor = thumbnailRenditionConvertor; + } + + public ThumbnailRenditionConvertor getThumbnailRenditionConvertor() + { + return thumbnailRenditionConvertor; + } /** * Content service @@ -79,7 +92,7 @@ public class ThumbnailRegistry public void setThumbnails(final List thumbnails) { this.thumbnails = thumbnails; - + // We'll not populate the data fields in the ThumbnailRegistry here, instead preferring // to do it lazily later. } @@ -101,8 +114,6 @@ public class ThumbnailRegistry private void initThumbnailDefinitions() { - ThumbnailRenditionConvertor thumbnailRenditionConvertor = new ThumbnailRenditionConvertor(); - for (String thumbnailDefinitionName : this.thumbnails) { QName qName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, thumbnailDefinitionName); diff --git a/source/java/org/alfresco/repo/thumbnail/ThumbnailServiceImpl.java b/source/java/org/alfresco/repo/thumbnail/ThumbnailServiceImpl.java index 3a1dc95743..dc4bcc01ca 100644 --- a/source/java/org/alfresco/repo/thumbnail/ThumbnailServiceImpl.java +++ b/source/java/org/alfresco/repo/thumbnail/ThumbnailServiceImpl.java @@ -215,7 +215,7 @@ public class ThumbnailServiceImpl implements ThumbnailService renderingAction = renditionService.createRenditionDefinition(thumbnailQName, renderingEngineName); } - Map params = new ThumbnailRenditionConvertor().convert(transformationOptions, assocDetails); + Map params = thumbnailRegistry.getThumbnailRenditionConvertor().convert(transformationOptions, assocDetails); for (String key : params.keySet()) { renderingAction.setParameterValue(key, params.get(key)); @@ -314,7 +314,7 @@ public class ThumbnailServiceImpl implements ThumbnailService rendDefn = renditionService.createRenditionDefinition(parentAssoc.getQName(), renderingEngineName); } - Map params = new ThumbnailRenditionConvertor().convert(transformationOptions, null); + Map params = thumbnailRegistry.getThumbnailRenditionConvertor().convert(transformationOptions, null); for (String key : params.keySet()) { rendDefn.setParameterValue(key, params.get(key)); diff --git a/source/java/org/alfresco/repo/thumbnail/ThumbnailServiceImplParameterTest.java b/source/java/org/alfresco/repo/thumbnail/ThumbnailServiceImplParameterTest.java index e71c2cd7c9..1fb01d0158 100644 --- a/source/java/org/alfresco/repo/thumbnail/ThumbnailServiceImplParameterTest.java +++ b/source/java/org/alfresco/repo/thumbnail/ThumbnailServiceImplParameterTest.java @@ -114,6 +114,13 @@ public class ThumbnailServiceImplParameterTest } }; thumbs.setRenditionService(renditionService); + thumbs.setThumbnailRegistry(new ThumbnailRegistry() { + @Override + public ThumbnailRenditionConvertor getThumbnailRenditionConvertor() + { + return new ThumbnailRenditionConvertor(); + } + }); thumbnailService = thumbs; }