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;
}