diff --git a/source/java/org/alfresco/repo/rendition/executer/AbstractRenderingEngine.java b/source/java/org/alfresco/repo/rendition/executer/AbstractRenderingEngine.java index 0a412ff7b7..f4fbbe9071 100644 --- a/source/java/org/alfresco/repo/rendition/executer/AbstractRenderingEngine.java +++ b/source/java/org/alfresco/repo/rendition/executer/AbstractRenderingEngine.java @@ -720,7 +720,7 @@ public abstract class AbstractRenderingEngine extends ActionExecuterAbstractBase if(clazz == null) throw new RenditionServiceException("The class must not be null!", new NullPointerException()); Class valueClass = value.getClass(); - if ( !valueClass.isAssignableFrom(clazz)) + if ( !clazz.isAssignableFrom(valueClass)) { throw new RenditionServiceException("The parameter: " + paramName + " must be of type: " + clazz.getName() + "but was of type: " + valueClass.getName()); diff --git a/source/test-java/org/alfresco/repo/rendition/RenditionServiceIntegrationTest.java b/source/test-java/org/alfresco/repo/rendition/RenditionServiceIntegrationTest.java index fc8272bc84..26aa961dfe 100644 --- a/source/test-java/org/alfresco/repo/rendition/RenditionServiceIntegrationTest.java +++ b/source/test-java/org/alfresco/repo/rendition/RenditionServiceIntegrationTest.java @@ -255,6 +255,45 @@ public class RenditionServiceIntegrationTest extends BaseAlfrescoSpringTest } }); } + + public void testHTMLRenderFreeMarkerTemplate() throws Exception + { + this.setComplete(); + this.endTransaction(); + final QName renditionName = QName.createQName(NamespaceService.RENDITION_MODEL_1_0_URI, + "htmlRenderingDefinition"); + + this.renditionNode = transactionHelper + .doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback() + { + @Override + public NodeRef execute() throws Throwable + { + // create test model + RenditionDefinition htmlDefinition = renditionService + .createRenditionDefinition(renditionName, + FreemarkerRenderingEngine.NAME); + + htmlDefinition.setParameterValue( + FreemarkerRenderingEngine.PARAM_TEMPLATE_NODE, + nodeWithFreeMarkerContent); + htmlDefinition.setParameterValue(FreemarkerRenderingEngine.PARAM_MIME_TYPE, + MimetypeMap.MIMETYPE_HTML); + + Map paramMap = new HashMap(); + paramMap.put("test", "test"); + htmlDefinition.setParameterValue(FreemarkerRenderingEngine.PARAM_MODEL, + (Serializable) paramMap); + + + ChildAssociationRef renditionAssoc = renditionService.render( + nodeWithDocContent, htmlDefinition); + assertNotNull("The rendition association was null", renditionAssoc); + return renditionAssoc.getChildRef(); + } + }); + + } public void testRenderFreeMarkerTemplateOneTransaction() throws Exception {