diff --git a/source/java/org/alfresco/web/bean/wcm/CreateWebsiteWizard.java b/source/java/org/alfresco/web/bean/wcm/CreateWebsiteWizard.java index 690cb33c9d..ba16d3700d 100644 --- a/source/java/org/alfresco/web/bean/wcm/CreateWebsiteWizard.java +++ b/source/java/org/alfresco/web/bean/wcm/CreateWebsiteWizard.java @@ -978,7 +978,7 @@ public class CreateWebsiteWizard extends BaseWizardBean private String description; private WorkflowWrapper workflow; private String filenamePattern; - private List templates = new ArrayList(4); + private List templates = null; FormWrapper(Form form) { @@ -1037,6 +1037,10 @@ public class CreateWebsiteWizard extends BaseWizardBean */ public String getFilenamePattern() { + if (this.filenamePattern == null) + { + this.filenamePattern = this.form.getOutputPathPattern(); + } return this.filenamePattern; } @@ -1053,6 +1057,15 @@ public class CreateWebsiteWizard extends BaseWizardBean */ public List getTemplates() { + if (this.templates == null) + { + List templates = this.form.getRenderingEngineTemplates(); + this.templates = new ArrayList(templates.size()); + for (RenderingEngineTemplate template : templates) + { + this.templates.add(new PresentationTemplate(template)); + } + } return this.templates; } @@ -1071,9 +1084,9 @@ public class CreateWebsiteWizard extends BaseWizardBean { String none = '<' + Application.getMessage(FacesContext.getCurrentInstance(), MSG_NONE) + '>'; return MessageFormat.format(Application.getMessage(FacesContext.getCurrentInstance(), MSG_FORM_SUMMARY), - this.workflow != null ? this.workflow.name : none, - this.filenamePattern != null ? this.filenamePattern : none, - this.templates != null ? this.templates.size() : 0); + getWorkflow() != null ? this.workflow.name : none, + getFilenamePattern() != null ? this.filenamePattern : none, + getTemplates() != null ? this.templates.size() : 0); } } @@ -1087,6 +1100,11 @@ public class CreateWebsiteWizard extends BaseWizardBean private String description; private String filenamePattern; + public PresentationTemplate(RenderingEngineTemplate ret) + { + this(ret, null); + } + public PresentationTemplate(RenderingEngineTemplate ret, String filenamePattern) { this.ret = ret; @@ -1121,6 +1139,10 @@ public class CreateWebsiteWizard extends BaseWizardBean */ public String getFilenamePattern() { + if (this.filenamePattern == null) + { + this.filenamePattern = ret.getOutputPathPattern(); + } return this.filenamePattern; } diff --git a/source/java/org/alfresco/web/bean/wcm/FormTemplatesDialog.java b/source/java/org/alfresco/web/bean/wcm/FormTemplatesDialog.java index 90a28e9d64..b247c29f74 100644 --- a/source/java/org/alfresco/web/bean/wcm/FormTemplatesDialog.java +++ b/source/java/org/alfresco/web/bean/wcm/FormTemplatesDialog.java @@ -130,7 +130,7 @@ public class FormTemplatesDialog extends BaseDialogBean List items = new ArrayList(engines.size()); for (RenderingEngineTemplate engine : engines) { - PresentationTemplate wrapper = new PresentationTemplate(engine, null); + PresentationTemplate wrapper = new PresentationTemplate(engine); UIListItem item = new UIListItem(); item.setValue(wrapper); item.setLabel(wrapper.getTitle()); diff --git a/source/java/org/alfresco/web/forms/Form.java b/source/java/org/alfresco/web/forms/Form.java index d2605b1c90..67bda67ace 100644 --- a/source/java/org/alfresco/web/forms/Form.java +++ b/source/java/org/alfresco/web/forms/Form.java @@ -41,6 +41,9 @@ public interface Form /** the root tag to use within the schema */ public String getSchemaRootElementName(); + + /** the output path pattern for form instance data */ + public String getOutputPathPattern(); /** the xml schema for this template type */ public Document getSchema() diff --git a/source/java/org/alfresco/web/forms/FormImpl.java b/source/java/org/alfresco/web/forms/FormImpl.java index 2b0037040c..ad482d3b17 100644 --- a/source/java/org/alfresco/web/forms/FormImpl.java +++ b/source/java/org/alfresco/web/forms/FormImpl.java @@ -86,6 +86,13 @@ public class FormImpl this.nodeService.getProperty(this.folderNodeRef, ContentModel.PROP_DESCRIPTION); } + + public String getOutputPathPattern() + { + return (String) + this.nodeService.getProperty(this.folderNodeRef, + WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_FORM_INSTANCE_DATA); + } public String getOutputPathForFormInstanceData(final String parentAVMPath, final String formInstanceDataFileName, @@ -175,9 +182,10 @@ public class FormImpl public List getRenderingEngineTemplates() { - final List result = new ArrayList(); - for (AssociationRef assoc : this.nodeService.getTargetAssocs(this.folderNodeRef, - WCMModel.ASSOC_RENDERING_ENGINE_TEMPLATES)) + final List refs = this.nodeService.getTargetAssocs(this.folderNodeRef, + WCMModel.ASSOC_RENDERING_ENGINE_TEMPLATES); + final List result = new ArrayList(refs.size()); + for (AssociationRef assoc : refs) { final NodeRef retNodeRef = assoc.getTargetRef(); for (ChildAssociationRef assoc2 : this.nodeService.getChildAssocs(retNodeRef, diff --git a/source/java/org/alfresco/web/forms/RenderingEngineTemplate.java b/source/java/org/alfresco/web/forms/RenderingEngineTemplate.java index 80122fc9c6..fd0a403030 100644 --- a/source/java/org/alfresco/web/forms/RenderingEngineTemplate.java +++ b/source/java/org/alfresco/web/forms/RenderingEngineTemplate.java @@ -38,6 +38,9 @@ public interface RenderingEngineTemplate /** the description of the form */ public String getDescription(); + /** the output path pattern for renditions */ + public String getOutputPathPattern(); + /** * Provides the rendering engine to use to process this template. * diff --git a/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java b/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java index da337a3549..015ea6846c 100644 --- a/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java +++ b/source/java/org/alfresco/web/forms/RenderingEngineTemplateImpl.java @@ -84,6 +84,13 @@ public class RenderingEngineTemplateImpl this.nodeService.getProperty(this.nodeRef, ContentModel.PROP_DESCRIPTION); } + + public String getOutputPathPattern() + { + return (String) + this.nodeService.getProperty(this.renditionPropertiesNodeRef, + WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_RENDITION); + } public NodeRef getNodeRef() { @@ -132,7 +139,6 @@ public class RenderingEngineTemplateImpl final TemplateHashModel formInstanceDataModel = new TemplateHashModel() { - private TemplateModel formInstanceDataModel; public TemplateModel get(final String key) diff --git a/source/web/jsp/wcm/create-website-wizard/form-templates.jsp b/source/web/jsp/wcm/create-website-wizard/form-templates.jsp index 581b5349b7..90df20f464 100644 --- a/source/web/jsp/wcm/create-website-wizard/form-templates.jsp +++ b/source/web/jsp/wcm/create-website-wizard/form-templates.jsp @@ -32,7 +32,8 @@ - +
+ <%-- Selected Form table, with configuration buttons and info text --%> - +
+ <%-- Selected Workflow table, with configuration buttons and info text --%> - +
+