diff --git a/source/java/org/alfresco/web/bean/wcm/AVMEditBean.java b/source/java/org/alfresco/web/bean/wcm/AVMEditBean.java index e869e016e4..23c890fe97 100644 --- a/source/java/org/alfresco/web/bean/wcm/AVMEditBean.java +++ b/source/java/org/alfresco/web/bean/wcm/AVMEditBean.java @@ -453,12 +453,12 @@ public class AVMEditBean { rendition.regenerate(fid); } - catch (Throwable t) + catch (Exception e) { - LOGGER.error("error regenerating " + rendition.getName() + - ": " + t.getMessage(), t); Utils.addErrorMessage("error regenerating " + rendition.getName() + - ": " + t.getMessage(), t); + " using " + rendition.getRenderingEngineTemplate().getName() + + ": " + e.getMessage(), + e); } } final NodeRef[] uploadedFiles = this.formProcessorSession.getUploadedFiles(); diff --git a/source/java/org/alfresco/web/bean/wcm/CreateWebContentWizard.java b/source/java/org/alfresco/web/bean/wcm/CreateWebContentWizard.java index 2d67570e12..5fdfd546c7 100644 --- a/source/java/org/alfresco/web/bean/wcm/CreateWebContentWizard.java +++ b/source/java/org/alfresco/web/bean/wcm/CreateWebContentWizard.java @@ -480,7 +480,16 @@ public class CreateWebContentWizard extends BaseContentWizard this.renditions = new LinkedList(); for (RenderingEngineTemplate ret : form.getRenderingEngineTemplates()) { - this.renditions.add(ret.render(this.formInstanceData)); + try + { + this.renditions.add(ret.render(this.formInstanceData)); + } + catch (Exception e) + { + Utils.addErrorMessage("Error generating rendition using " + ret.getName() + + ": " + e.getMessage(), + e); + } } } else diff --git a/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java b/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java index 627df2917d..f9d2473211 100644 --- a/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java +++ b/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java @@ -197,7 +197,8 @@ public class RenderingEngineTemplateImpl { final AVMService avmService = this.getServiceRegistry().getAVMService(); final String renditionAvmPath = this.getOutputPathForRendition(formInstanceData); - if (avmService.lookup(-1, renditionAvmPath) == null) + final boolean isRegenerate = avmService.lookup(-1, renditionAvmPath) != null; + if (!isRegenerate) { final String parentAVMPath = AVMNodeConverter.SplitBase(renditionAvmPath)[0]; AVMConstants.makeAllDirectories(parentAVMPath); @@ -205,6 +206,13 @@ public class RenderingEngineTemplateImpl AVMNodeConverter.SplitBase(renditionAvmPath)[1]); if (LOGGER.isDebugEnabled()) LOGGER.debug("Created file node for file: " + renditionAvmPath); + } + + final Rendition result = new RenditionImpl(AVMNodeConverter.ToNodeRef(-1, renditionAvmPath)); + this.render(formInstanceData, result); + + if (!isRegenerate) + { avmService.addAspect(renditionAvmPath, WCMAppModel.ASPECT_FORM_INSTANCE_DATA); avmService.addAspect(renditionAvmPath, ContentModel.ASPECT_TITLED); avmService.addAspect(renditionAvmPath, WCMAppModel.ASPECT_RENDITION); @@ -220,9 +228,6 @@ public class RenderingEngineTemplateImpl new PropertyValue(DataTypeDefinition.TEXT, (Serializable)renditions)); } - - final Rendition result = new RenditionImpl(AVMNodeConverter.ToNodeRef(-1, renditionAvmPath)); - this.render(formInstanceData, result); return result; } diff --git a/source/java/org/alfresco/web/forms/XSLFORenderingEngine.java b/source/java/org/alfresco/web/forms/XSLFORenderingEngine.java index 7d0ec6e410..144eeff77a 100644 --- a/source/java/org/alfresco/web/forms/XSLFORenderingEngine.java +++ b/source/java/org/alfresco/web/forms/XSLFORenderingEngine.java @@ -66,7 +66,8 @@ public class XSLFORenderingEngine MIME_TYPES.put(MimeConstants.MIME_SVG, MimeConstants.MIME_SVG); MIME_TYPES.put("image/svg", MimeConstants.MIME_SVG); - MIME_TYPES.put(MimeConstants.MIME_GIF, MimeConstants.MIME_GIF); + //looks like a dependency is missing - removing for now + //MIME_TYPES.put(MimeConstants.MIME_GIF, MimeConstants.MIME_GIF); MIME_TYPES.put(MimeConstants.MIME_PNG, MimeConstants.MIME_PNG); MIME_TYPES.put(MimeConstants.MIME_JPEG, MimeConstants.MIME_JPEG); MIME_TYPES.put(MimeConstants.MIME_TIFF, MimeConstants.MIME_TIFF);