mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
- adding a primitive select default workflow screen
- improved output path expressions - got the details screen pretty much in sync with wireframes. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4358 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -641,23 +641,30 @@ text_content=Plain Text Content
|
|||||||
html_content=HTML Content
|
html_content=HTML Content
|
||||||
xml_content=XML Content
|
xml_content=XML Content
|
||||||
create_form_title=Create Form Wizard
|
create_form_title=Create Form Wizard
|
||||||
create_form_desc=Create an XML Form definition from XML Schema and Rendering Engines
|
create_form_desc=This wizard helps you create a new form.
|
||||||
create_form_step1_title=Upload an XML Schema
|
create_form_form_details_title=Step One - Specify details
|
||||||
create_form_step1_desc=Upload an XML Schema
|
create_form_form_details_desc=Enter information about the web form you want to create.
|
||||||
create_form_step2_title=Configure Rendering Engines
|
create_form_form_details_step1_desc=Select XML schema to use
|
||||||
create_form_step2_desc=Select rendering engines and rendering engine template to render form instance data processed by the form.
|
create_form_form_details_step2_desc=Specify details for new form.
|
||||||
|
create_form_form_details_no_schema_selected=<no schema selected>
|
||||||
|
|
||||||
|
create_form_configure_rendering_engine_templates_title=Step Two - Configure Rendering Engine Templates
|
||||||
|
create_form_configure_rendering_engine_templates_desc=Enter information about the rendering engine templates you want to use for this form.
|
||||||
|
create_form_select_default_workflow_title=Stop Three - Select default workflow
|
||||||
|
create_form_select_default_workflow_desc=Select the workflow you want to be used by default for this form.
|
||||||
|
|
||||||
selected_rendering_engines=Selected Rendering Engines
|
selected_rendering_engines=Selected Rendering Engines
|
||||||
configure_rendering_engines_step1_desc=Upload rendering engine template and specify the extension to use for its renditions.
|
create_form_configure_rendering_engines_title=Configure Rendering Engines
|
||||||
|
create_form_configure_rendering_engines_step1_desc=Upload rendering engine template and specify the extension to use for its renditions.
|
||||||
rendering_engine_file=Rendering Engine Template File
|
rendering_engine_file=Rendering Engine Template File
|
||||||
rendering_engine_type=Rendering Engine Type
|
rendering_engine_type=Rendering Engine Type
|
||||||
extension_for_renditions=Extension for renditions
|
output_path_pattern=Output path pattern
|
||||||
mimetype_for_renditions=Mimetype for renditions
|
mimetype_for_renditions=Mimetype for renditions
|
||||||
file_extension=Extension
|
file_extension=Extension
|
||||||
schema=Schema
|
schema=Schema
|
||||||
schema_root_element_name=Root Element
|
schema_root_element_name=Root element
|
||||||
edit_xml_schema=Edit XML Schema
|
|
||||||
form=Form
|
form=Form
|
||||||
configure_rendering_engines=Configure Rendering Engines
|
|
||||||
|
|
||||||
# Rule and Action Wizard messages
|
# Rule and Action Wizard messages
|
||||||
run_action_title=Run Action Wizard
|
run_action_title=Run Action Wizard
|
||||||
|
@@ -57,9 +57,6 @@
|
|||||||
<constructor-arg>
|
<constructor-arg>
|
||||||
<ref bean="AVMService" />
|
<ref bean="AVMService" />
|
||||||
</constructor-arg>
|
</constructor-arg>
|
||||||
<constructor-arg>
|
|
||||||
<ref bean="TemplateService" />
|
|
||||||
</constructor-arg>
|
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
</beans>
|
</beans>
|
||||||
|
@@ -238,21 +238,33 @@
|
|||||||
</wizard>
|
</wizard>
|
||||||
|
|
||||||
<!-- Definition of the Create XML Type wizard -->
|
<!-- Definition of the Create XML Type wizard -->
|
||||||
<wizard name="createForm" managed-bean="CreateFormWizard"
|
<wizard name="createForm"
|
||||||
title-id="create_form_title" description-id="create_form_desc"
|
managed-bean="CreateFormWizard"
|
||||||
|
title-id="create_form_title"
|
||||||
|
description-id="create_form_desc"
|
||||||
icon="/images/icons/new_content_large.gif">
|
icon="/images/icons/new_content_large.gif">
|
||||||
<step name="details" title-id="details" description-id="create_form_step1_desc">
|
<step name="form_details"
|
||||||
|
title-id="create_form_form_details_title"
|
||||||
|
description-id="create_form_form_details_desc">
|
||||||
<page path="/jsp/wcm/create-form-wizard/details.jsp"
|
<page path="/jsp/wcm/create-form-wizard/details.jsp"
|
||||||
title-id="create_form_step1_title"
|
title-id="create_form_form_details_title"
|
||||||
description-id="create_form_step1_desc"
|
description-id="create_form_form_details_desc"
|
||||||
instruction-id="default_instruction" />
|
instruction-id="default_instruction" />
|
||||||
</step>
|
</step>
|
||||||
<step name="configure_rendering_engines"
|
<step name="configure_rendering_engine_templates"
|
||||||
title-id="configure_rendering_engines"
|
title-id="create_form_configure_rendering_engine_templates_title"
|
||||||
description-id="create_form_step2_desc">
|
description-id="create_form_configure_rendering_engine_templates_desc">
|
||||||
<page path="/jsp/wcm/create-form-wizard/configure-rendering-engines.jsp"
|
<page path="/jsp/wcm/create-form-wizard/configure-rendering-engines.jsp"
|
||||||
title-id="create_form_step2_title"
|
title-id="create_form_configure_rendering_engine_templates_title"
|
||||||
description-id="create_form_step2_desc"
|
description-id="create_form_configure_rendering_engine_templates_desc"
|
||||||
|
instruction-id="default_instruction" />
|
||||||
|
</step>
|
||||||
|
<step name="select_default_workflow"
|
||||||
|
title-id="create_form_select_default_workflow_title"
|
||||||
|
description-id="create_form_select_default_workflow_desc">
|
||||||
|
<page path="/jsp/wcm/create-form-wizard/select-default-workflow.jsp"
|
||||||
|
title-id="create_form_select_default_workflow_title"
|
||||||
|
description-id="create_form_select_default_workflow_desc"
|
||||||
instruction-id="default_instruction" />
|
instruction-id="default_instruction" />
|
||||||
</step>
|
</step>
|
||||||
<step name="summary" title-id="summary" description-id="summary_step_description">
|
<step name="summary" title-id="summary" description-id="summary_step_description">
|
||||||
|
@@ -70,7 +70,7 @@
|
|||||||
<from-email-address>alfresco@alfresco.org</from-email-address>
|
<from-email-address>alfresco@alfresco.org</from-email-address>
|
||||||
|
|
||||||
<!-- WCM domain and port for virtualisation server -->
|
<!-- WCM domain and port for virtualisation server -->
|
||||||
<wcm-domain>127-0-0-1.ip.alfrescodemo.net</wcm-domain>
|
<wcm-domain>arielbackenroth.dyndns.org</wcm-domain>
|
||||||
<wcm-port>8180</wcm-port>
|
<wcm-port>8180</wcm-port>
|
||||||
</client>
|
</client>
|
||||||
</config>
|
</config>
|
||||||
|
@@ -41,6 +41,8 @@ import org.alfresco.service.cmr.repository.ContentService;
|
|||||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||||
import org.alfresco.service.cmr.repository.MimetypeService;
|
import org.alfresco.service.cmr.repository.MimetypeService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
|
||||||
|
import org.alfresco.service.cmr.workflow.WorkflowService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.bean.FileUploadBean;
|
import org.alfresco.web.bean.FileUploadBean;
|
||||||
@@ -49,7 +51,9 @@ import org.alfresco.web.data.IDataContainer;
|
|||||||
import org.alfresco.web.data.QuickSort;
|
import org.alfresco.web.data.QuickSort;
|
||||||
import org.alfresco.web.forms.*;
|
import org.alfresco.web.forms.*;
|
||||||
import org.alfresco.web.forms.xforms.SchemaFormBuilder;
|
import org.alfresco.web.forms.xforms.SchemaFormBuilder;
|
||||||
|
import org.alfresco.web.ui.common.component.UIListItem;
|
||||||
import org.alfresco.web.ui.common.Utils;
|
import org.alfresco.web.ui.common.Utils;
|
||||||
|
import org.alfresco.web.ui.wcm.WebResources;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.apache.xerces.xs.*;
|
import org.apache.xerces.xs.*;
|
||||||
@@ -135,13 +139,15 @@ public class CreateFormWizard
|
|||||||
|
|
||||||
private final static Log LOGGER = LogFactory.getLog(CreateFormWizard.class);
|
private final static Log LOGGER = LogFactory.getLog(CreateFormWizard.class);
|
||||||
|
|
||||||
private String schemaRootElementName;
|
private String schemaRootElementName = null;
|
||||||
private String formName;
|
private String formName = null;
|
||||||
private String formTitle;
|
private String formTitle = null;
|
||||||
private String formDescription;
|
private String formDescription = null;
|
||||||
|
private String defaultWorkflowId = null;
|
||||||
private RenderingEngine renderingEngine = null;
|
private RenderingEngine renderingEngine = null;
|
||||||
protected ContentService contentService;
|
protected ContentService contentService;
|
||||||
protected MimetypeService mimetypeService;
|
protected MimetypeService mimetypeService;
|
||||||
|
protected WorkflowService workflowService;
|
||||||
private DataModel renderingEngineTemplatesDataModel;
|
private DataModel renderingEngineTemplatesDataModel;
|
||||||
private List<RenderingEngineTemplateData> renderingEngineTemplates = null;
|
private List<RenderingEngineTemplateData> renderingEngineTemplates = null;
|
||||||
private String outputPathPatternForFormInstanceData = null;
|
private String outputPathPatternForFormInstanceData = null;
|
||||||
@@ -191,6 +197,10 @@ public class CreateFormWizard
|
|||||||
this.getSchemaRootElementName());
|
this.getSchemaRootElementName());
|
||||||
props.put(WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_FORM_INSTANCE_DATA,
|
props.put(WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_FORM_INSTANCE_DATA,
|
||||||
this.getOutputPathPatternForFormInstanceData());
|
this.getOutputPathPatternForFormInstanceData());
|
||||||
|
if (this.defaultWorkflowId != null)
|
||||||
|
{
|
||||||
|
props.put(WCMModel.PROP_DEFAULT_WORKFLOW_ID, this.defaultWorkflowId);
|
||||||
|
}
|
||||||
this.nodeService.addAspect(folderInfo.getNodeRef(), WCMModel.ASPECT_FORM, props);
|
this.nodeService.addAspect(folderInfo.getNodeRef(), WCMModel.ASPECT_FORM, props);
|
||||||
|
|
||||||
for (RenderingEngineTemplateData retd : this.renderingEngineTemplates)
|
for (RenderingEngineTemplateData retd : this.renderingEngineTemplates)
|
||||||
@@ -272,6 +282,7 @@ public class CreateFormWizard
|
|||||||
this.outputPathPatternForFormInstanceData = null;
|
this.outputPathPatternForFormInstanceData = null;
|
||||||
this.outputPathPatternForRendition = null;
|
this.outputPathPatternForRendition = null;
|
||||||
this.mimetypeForRendition = null;
|
this.mimetypeForRendition = null;
|
||||||
|
this.defaultWorkflowId = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -318,11 +329,9 @@ public class CreateFormWizard
|
|||||||
*/
|
*/
|
||||||
public String getOutputPathPatternForRendition()
|
public String getOutputPathPatternForRendition()
|
||||||
{
|
{
|
||||||
if (this.outputPathPatternForRendition == null && this.mimetypeForRendition != null)
|
if (this.outputPathPatternForRendition == null)
|
||||||
{
|
{
|
||||||
this.outputPathPatternForRendition =
|
this.outputPathPatternForRendition = "${name}.${extension}";
|
||||||
("${formInstanceData.name}." +
|
|
||||||
this.mimetypeService.getExtension(this.mimetypeForRendition));
|
|
||||||
}
|
}
|
||||||
return this.outputPathPatternForRendition;
|
return this.outputPathPatternForRendition;
|
||||||
}
|
}
|
||||||
@@ -655,7 +664,7 @@ public class CreateFormWizard
|
|||||||
{
|
{
|
||||||
if (this.outputPathPatternForFormInstanceData == null)
|
if (this.outputPathPatternForFormInstanceData == null)
|
||||||
{
|
{
|
||||||
this.outputPathPatternForFormInstanceData = "${formInstanceData.name}.xml";
|
this.outputPathPatternForFormInstanceData = "${name}.xml";
|
||||||
}
|
}
|
||||||
return this.outputPathPatternForFormInstanceData;
|
return this.outputPathPatternForFormInstanceData;
|
||||||
}
|
}
|
||||||
@@ -701,6 +710,54 @@ public class CreateFormWizard
|
|||||||
{
|
{
|
||||||
return this.formDescription;
|
return this.formDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDefaultWorkflowId(final String[] defaultWorkflowId)
|
||||||
|
{
|
||||||
|
assert defaultWorkflowId.length == 1;
|
||||||
|
this.defaultWorkflowId = ("no_default_workflow_selected".equals(defaultWorkflowId[0])
|
||||||
|
? null
|
||||||
|
: defaultWorkflowId[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String[] getDefaultWorkflowId()
|
||||||
|
{
|
||||||
|
return new String[] {
|
||||||
|
(this.defaultWorkflowId == null
|
||||||
|
? "no_default_workflow_selected"
|
||||||
|
: this.defaultWorkflowId)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return List of UI items to represent the available Workflows for all websites
|
||||||
|
*/
|
||||||
|
public List<UIListItem> getDefaultWorkflowChoices()
|
||||||
|
{
|
||||||
|
// TODO: add list of workflows from config
|
||||||
|
// @see org.alfresco.web.wcm.FormDetailsDialog#getWorkflowList()
|
||||||
|
final List<WorkflowDefinition> workflowDefs = this.workflowService.getDefinitions();
|
||||||
|
final List<UIListItem> result = new ArrayList<UIListItem>(workflowDefs.size() + 1);
|
||||||
|
|
||||||
|
UIListItem item = new UIListItem();
|
||||||
|
item.setValue("no_default_workflow_selected");
|
||||||
|
item.setLabel("None");
|
||||||
|
item.setDescription("");
|
||||||
|
item.setImage(WebResources.IMAGE_WORKFLOW_32);
|
||||||
|
result.add(item);
|
||||||
|
|
||||||
|
for (WorkflowDefinition workflowDef : workflowDefs)
|
||||||
|
{
|
||||||
|
item = new UIListItem();
|
||||||
|
item.setValue(workflowDef.id);
|
||||||
|
item.setLabel(workflowDef.title);
|
||||||
|
item.setDescription(workflowDef.description);
|
||||||
|
item.setImage(WebResources.IMAGE_WORKFLOW_32);
|
||||||
|
result.add(item);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Returns the summary data for the wizard.
|
* @return Returns the summary data for the wizard.
|
||||||
@@ -742,6 +799,14 @@ public class CreateFormWizard
|
|||||||
{
|
{
|
||||||
this.mimetypeService = mimetypeService;
|
this.mimetypeService = mimetypeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param workflowService The workflowService to set.
|
||||||
|
*/
|
||||||
|
public void setWorkflowService(final WorkflowService workflowService)
|
||||||
|
{
|
||||||
|
this.workflowService = workflowService;
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// Helper Methods
|
// Helper Methods
|
||||||
|
@@ -1021,6 +1021,11 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
*/
|
*/
|
||||||
public WorkflowWrapper getWorkflow()
|
public WorkflowWrapper getWorkflow()
|
||||||
{
|
{
|
||||||
|
WorkflowDefinition wf = this.form.getDefaultWorkflow();
|
||||||
|
if (this.workflow == null && wf != null)
|
||||||
|
{
|
||||||
|
this.workflow = new WorkflowWrapper(wf.name);
|
||||||
|
}
|
||||||
return this.workflow;
|
return this.workflow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package org.alfresco.web.forms;
|
package org.alfresco.web.forms;
|
||||||
|
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.xml.sax.SAXException;
|
import org.xml.sax.SAXException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -45,6 +46,12 @@ public interface Form
|
|||||||
/** the output path pattern for form instance data */
|
/** the output path pattern for form instance data */
|
||||||
public String getOutputPathPattern();
|
public String getOutputPathPattern();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the default workflow associated with this form or <tt>null</tt>
|
||||||
|
* if none is configured.
|
||||||
|
*/
|
||||||
|
public WorkflowDefinition getDefaultWorkflow();
|
||||||
|
|
||||||
/** the xml schema for this template type */
|
/** the xml schema for this template type */
|
||||||
public Document getSchema()
|
public Document getSchema()
|
||||||
throws IOException, SAXException;
|
throws IOException, SAXException;
|
||||||
|
@@ -27,16 +27,21 @@ import java.io.*;
|
|||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import javax.faces.context.FacesContext;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.model.WCMModel;
|
import org.alfresco.model.WCMModel;
|
||||||
|
import org.alfresco.service.ServiceRegistry;
|
||||||
import org.alfresco.service.cmr.repository.AssociationRef;
|
import org.alfresco.service.cmr.repository.AssociationRef;
|
||||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||||
import org.alfresco.service.cmr.repository.ContentService;
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.repository.TemplateService;
|
import org.alfresco.service.cmr.repository.TemplateService;
|
||||||
|
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
|
||||||
|
import org.alfresco.service.cmr.workflow.WorkflowService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||||
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
import org.alfresco.web.bean.wcm.AVMConstants;
|
import org.alfresco.web.bean.wcm.AVMConstants;
|
||||||
import org.alfresco.web.forms.xforms.XFormsProcessor;
|
import org.alfresco.web.forms.xforms.XFormsProcessor;
|
||||||
import org.alfresco.web.app.servlet.DownloadContentServlet;
|
import org.alfresco.web.app.servlet.DownloadContentServlet;
|
||||||
@@ -51,9 +56,6 @@ public class FormImpl
|
|||||||
private static final Log LOGGER = LogFactory.getLog(FormImpl.class);
|
private static final Log LOGGER = LogFactory.getLog(FormImpl.class);
|
||||||
|
|
||||||
private final NodeRef folderNodeRef;
|
private final NodeRef folderNodeRef;
|
||||||
private final NodeService nodeService;
|
|
||||||
private final ContentService contentService;
|
|
||||||
private final TemplateService templateService;
|
|
||||||
|
|
||||||
private final static LinkedList<FormProcessor> PROCESSORS =
|
private final static LinkedList<FormProcessor> PROCESSORS =
|
||||||
new LinkedList<FormProcessor>();
|
new LinkedList<FormProcessor>();
|
||||||
@@ -62,87 +64,56 @@ public class FormImpl
|
|||||||
FormImpl.PROCESSORS.add(new XFormsProcessor());
|
FormImpl.PROCESSORS.add(new XFormsProcessor());
|
||||||
}
|
}
|
||||||
|
|
||||||
public FormImpl(final NodeRef folderNodeRef,
|
public FormImpl(final NodeRef folderNodeRef)
|
||||||
final NodeService nodeService,
|
|
||||||
final ContentService contentService,
|
|
||||||
final TemplateService templateService)
|
|
||||||
{
|
{
|
||||||
this.folderNodeRef = folderNodeRef;
|
this.folderNodeRef = folderNodeRef;
|
||||||
this.nodeService = nodeService;
|
|
||||||
this.contentService = contentService;
|
|
||||||
this.templateService = templateService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return (String)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(this.folderNodeRef,
|
return (String)nodeService.getProperty(this.folderNodeRef,
|
||||||
ContentModel.PROP_TITLE);
|
ContentModel.PROP_TITLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription()
|
public String getDescription()
|
||||||
{
|
{
|
||||||
return (String)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(this.folderNodeRef,
|
return (String)nodeService.getProperty(this.folderNodeRef,
|
||||||
ContentModel.PROP_DESCRIPTION);
|
ContentModel.PROP_DESCRIPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getOutputPathPattern()
|
public String getOutputPathPattern()
|
||||||
{
|
{
|
||||||
return (String)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(this.folderNodeRef,
|
return (String)nodeService.getProperty(this.folderNodeRef,
|
||||||
WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_FORM_INSTANCE_DATA);
|
WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_FORM_INSTANCE_DATA);
|
||||||
|
}
|
||||||
|
|
||||||
|
public WorkflowDefinition getDefaultWorkflow()
|
||||||
|
{
|
||||||
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
|
final String defaultWorkflowId = (String)nodeService.getProperty(this.folderNodeRef,
|
||||||
|
WCMModel.PROP_DEFAULT_WORKFLOW_ID);
|
||||||
|
final WorkflowService workflowService = this.getServiceRegistry().getWorkflowService();
|
||||||
|
return (defaultWorkflowId != null
|
||||||
|
? workflowService.getDefinitionById(defaultWorkflowId)
|
||||||
|
: null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getOutputPathForFormInstanceData(final String parentAVMPath,
|
public String getOutputPathForFormInstanceData(final String parentAVMPath,
|
||||||
final String formInstanceDataFileName,
|
final String formInstanceDataName,
|
||||||
final Document formInstanceData)
|
final Document formInstanceData)
|
||||||
{
|
{
|
||||||
final String outputPathPattern = (String)
|
final String outputPathPattern = this.getOutputPathPattern();
|
||||||
this.nodeService.getProperty(this.folderNodeRef,
|
|
||||||
WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_FORM_INSTANCE_DATA);
|
|
||||||
|
|
||||||
final TemplateHashModel formInstanceDataModel = new TemplateHashModel()
|
final Map<String, Object> root = new HashMap<String, Object>();
|
||||||
{
|
root.put("xml", NodeModel.wrap(formInstanceData));
|
||||||
|
root.put("name", formInstanceDataName);
|
||||||
private TemplateModel formInstanceDataModel;
|
|
||||||
|
|
||||||
public TemplateModel get(final String key)
|
|
||||||
{
|
|
||||||
LOGGER.debug("looking up property " + key);
|
|
||||||
if ("xml".equals(key))
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (formInstanceDataModel == null)
|
|
||||||
{
|
|
||||||
formInstanceDataModel = NodeModel.wrap(formInstanceData);
|
|
||||||
}
|
|
||||||
return formInstanceDataModel;
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
LOGGER.error(e);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ("name".equals(key))
|
|
||||||
{
|
|
||||||
return new SimpleScalar(formInstanceDataFileName);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isEmpty()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
final Map<String, TemplateModel> root = new HashMap<String, TemplateModel>();
|
|
||||||
root.put("formInstanceData", formInstanceDataModel);
|
|
||||||
root.put("date", new SimpleDate(new Date(), SimpleDate.DATETIME));
|
root.put("date", new SimpleDate(new Date(), SimpleDate.DATETIME));
|
||||||
|
|
||||||
|
final TemplateService templateService = this.getServiceRegistry().getTemplateService();
|
||||||
|
|
||||||
String result = templateService.processTemplateString(null,
|
String result = templateService.processTemplateString(null,
|
||||||
outputPathPattern,
|
outputPathPattern,
|
||||||
new SimpleHash(root));
|
new SimpleHash(root));
|
||||||
@@ -153,9 +124,9 @@ public class FormImpl
|
|||||||
|
|
||||||
public String getSchemaRootElementName()
|
public String getSchemaRootElementName()
|
||||||
{
|
{
|
||||||
return (String)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(folderNodeRef,
|
return (String)nodeService.getProperty(folderNodeRef,
|
||||||
WCMModel.PROP_XML_SCHEMA_ROOT_ELEMENT_NAME);
|
WCMModel.PROP_XML_SCHEMA_ROOT_ELEMENT_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Document getSchema()
|
public Document getSchema()
|
||||||
@@ -163,9 +134,9 @@ public class FormImpl
|
|||||||
SAXException
|
SAXException
|
||||||
{
|
{
|
||||||
final FormsService ts = FormsService.getInstance();
|
final FormsService ts = FormsService.getInstance();
|
||||||
final NodeRef schemaNodeRef = (NodeRef)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(folderNodeRef,
|
final NodeRef schemaNodeRef = (NodeRef)nodeService.getProperty(folderNodeRef,
|
||||||
WCMModel.PROP_XML_SCHEMA);
|
WCMModel.PROP_XML_SCHEMA);
|
||||||
return ts.parseXML(schemaNodeRef);
|
return ts.parseXML(schemaNodeRef);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,24 +153,21 @@ public class FormImpl
|
|||||||
|
|
||||||
public List<RenderingEngineTemplate> getRenderingEngineTemplates()
|
public List<RenderingEngineTemplate> getRenderingEngineTemplates()
|
||||||
{
|
{
|
||||||
final List<AssociationRef> refs = this.nodeService.getTargetAssocs(this.folderNodeRef,
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
WCMModel.ASSOC_RENDERING_ENGINE_TEMPLATES);
|
final List<AssociationRef> refs = nodeService.getTargetAssocs(this.folderNodeRef,
|
||||||
|
WCMModel.ASSOC_RENDERING_ENGINE_TEMPLATES);
|
||||||
final List<RenderingEngineTemplate> result = new ArrayList<RenderingEngineTemplate>(refs.size());
|
final List<RenderingEngineTemplate> result = new ArrayList<RenderingEngineTemplate>(refs.size());
|
||||||
for (AssociationRef assoc : refs)
|
for (AssociationRef assoc : refs)
|
||||||
{
|
{
|
||||||
final NodeRef retNodeRef = assoc.getTargetRef();
|
final NodeRef retNodeRef = assoc.getTargetRef();
|
||||||
for (ChildAssociationRef assoc2 : this.nodeService.getChildAssocs(retNodeRef,
|
for (ChildAssociationRef assoc2 : nodeService.getChildAssocs(retNodeRef,
|
||||||
WCMModel.ASSOC_RENDITION_PROPERTIES,
|
WCMModel.ASSOC_RENDITION_PROPERTIES,
|
||||||
RegexQNamePattern.MATCH_ALL))
|
RegexQNamePattern.MATCH_ALL))
|
||||||
{
|
{
|
||||||
final NodeRef renditionPropertiesNodeRef = assoc2.getChildRef();
|
final NodeRef renditionPropertiesNodeRef = assoc2.getChildRef();
|
||||||
|
|
||||||
final RenderingEngineTemplate ret =
|
final RenderingEngineTemplate ret =
|
||||||
new RenderingEngineTemplateImpl(retNodeRef,
|
new RenderingEngineTemplateImpl(retNodeRef, renditionPropertiesNodeRef);
|
||||||
renditionPropertiesNodeRef,
|
|
||||||
this.nodeService,
|
|
||||||
this.contentService,
|
|
||||||
this.templateService);
|
|
||||||
LOGGER.debug("loaded rendering engine template " + ret);
|
LOGGER.debug("loaded rendering engine template " + ret);
|
||||||
result.add(ret);
|
result.add(ret);
|
||||||
}
|
}
|
||||||
@@ -209,10 +177,11 @@ public class FormImpl
|
|||||||
|
|
||||||
public void registerFormInstanceData(final NodeRef formInstanceDataNodeRef)
|
public void registerFormInstanceData(final NodeRef formInstanceDataNodeRef)
|
||||||
{
|
{
|
||||||
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
final Map<QName, Serializable> props = new HashMap<QName, Serializable>(2, 1.0f);
|
final Map<QName, Serializable> props = new HashMap<QName, Serializable>(2, 1.0f);
|
||||||
props.put(WCMModel.PROP_PARENT_FORM, this.folderNodeRef);
|
props.put(WCMModel.PROP_PARENT_FORM, this.folderNodeRef);
|
||||||
props.put(WCMModel.PROP_PARENT_FORM_NAME, this.getName());
|
props.put(WCMModel.PROP_PARENT_FORM_NAME, this.getName());
|
||||||
this.nodeService.addAspect(formInstanceDataNodeRef, WCMModel.ASPECT_FORM_INSTANCE_DATA, props);
|
nodeService.addAspect(formInstanceDataNodeRef, WCMModel.ASPECT_FORM_INSTANCE_DATA, props);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int hashCode()
|
public int hashCode()
|
||||||
@@ -228,4 +197,10 @@ public class FormImpl
|
|||||||
"renderingEngineTemplates: " + this.getRenderingEngineTemplates() +
|
"renderingEngineTemplates: " + this.getRenderingEngineTemplates() +
|
||||||
"}");
|
"}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private ServiceRegistry getServiceRegistry()
|
||||||
|
{
|
||||||
|
final FacesContext fc = FacesContext.getCurrentInstance();
|
||||||
|
return Repository.getServiceRegistry(fc);
|
||||||
|
}
|
||||||
}
|
}
|
@@ -55,6 +55,7 @@ import org.alfresco.service.cmr.model.FileFolderService;
|
|||||||
import org.alfresco.service.cmr.repository.AssociationRef;
|
import org.alfresco.service.cmr.repository.AssociationRef;
|
||||||
import org.alfresco.service.cmr.repository.ContentReader;
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
import org.alfresco.service.cmr.repository.ContentService;
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
|
import org.alfresco.service.cmr.repository.MimetypeService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.repository.TemplateService;
|
import org.alfresco.service.cmr.repository.TemplateService;
|
||||||
@@ -105,7 +106,6 @@ public final class FormsService
|
|||||||
private final NamespaceService namespaceService;
|
private final NamespaceService namespaceService;
|
||||||
private final SearchService searchService;
|
private final SearchService searchService;
|
||||||
private final AVMService avmService;
|
private final AVMService avmService;
|
||||||
private final TemplateService templateService;
|
|
||||||
|
|
||||||
private NodeRef contentFormsNodeRef;
|
private NodeRef contentFormsNodeRef;
|
||||||
|
|
||||||
@@ -116,8 +116,7 @@ public final class FormsService
|
|||||||
final DictionaryService dictionaryService,
|
final DictionaryService dictionaryService,
|
||||||
final NamespaceService namespaceService,
|
final NamespaceService namespaceService,
|
||||||
final SearchService searchService,
|
final SearchService searchService,
|
||||||
final AVMService avmService,
|
final AVMService avmService)
|
||||||
final TemplateService templateService)
|
|
||||||
{
|
{
|
||||||
this.contentService = contentService;
|
this.contentService = contentService;
|
||||||
this.nodeService = nodeService;
|
this.nodeService = nodeService;
|
||||||
@@ -126,7 +125,6 @@ public final class FormsService
|
|||||||
this.namespaceService = namespaceService;
|
this.namespaceService = namespaceService;
|
||||||
this.searchService = searchService;
|
this.searchService = searchService;
|
||||||
this.avmService = avmService;
|
this.avmService = avmService;
|
||||||
this.templateService = templateService;
|
|
||||||
if (INSTANCE == null)
|
if (INSTANCE == null)
|
||||||
INSTANCE = this;
|
INSTANCE = this;
|
||||||
}
|
}
|
||||||
@@ -266,10 +264,7 @@ public final class FormsService
|
|||||||
{
|
{
|
||||||
if (LOGGER.isDebugEnabled())
|
if (LOGGER.isDebugEnabled())
|
||||||
LOGGER.debug("loading form for " + nodeRef);
|
LOGGER.debug("loading form for " + nodeRef);
|
||||||
final Form result = new FormImpl(nodeRef,
|
final Form result = new FormImpl(nodeRef);
|
||||||
this.nodeService,
|
|
||||||
this.contentService,
|
|
||||||
this.templateService);
|
|
||||||
if (LOGGER.isDebugEnabled())
|
if (LOGGER.isDebugEnabled())
|
||||||
LOGGER.debug("loaded form " + result);
|
LOGGER.debug("loaded form " + result);
|
||||||
return result;
|
return result;
|
||||||
|
@@ -29,15 +29,20 @@ import java.io.Serializable;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import javax.faces.context.FacesContext;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.model.WCMModel;
|
import org.alfresco.model.WCMModel;
|
||||||
import org.alfresco.repo.avm.AVMNodeConverter;
|
import org.alfresco.repo.avm.AVMNodeConverter;
|
||||||
|
import org.alfresco.service.ServiceRegistry;
|
||||||
import org.alfresco.service.cmr.repository.ContentReader;
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
import org.alfresco.service.cmr.repository.ContentService;
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
|
import org.alfresco.service.cmr.repository.MimetypeService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
|
import org.alfresco.service.cmr.repository.TemplateNode;
|
||||||
import org.alfresco.service.cmr.repository.TemplateService;
|
import org.alfresco.service.cmr.repository.TemplateService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
import org.alfresco.web.bean.wcm.AVMConstants;
|
import org.alfresco.web.bean.wcm.AVMConstants;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
@@ -54,42 +59,32 @@ public class RenderingEngineTemplateImpl
|
|||||||
|
|
||||||
private final NodeRef nodeRef;
|
private final NodeRef nodeRef;
|
||||||
private final NodeRef renditionPropertiesNodeRef;
|
private final NodeRef renditionPropertiesNodeRef;
|
||||||
private final NodeService nodeService;
|
|
||||||
private final ContentService contentService;
|
|
||||||
private final TemplateService templateService;
|
|
||||||
|
|
||||||
protected RenderingEngineTemplateImpl(final NodeRef nodeRef,
|
protected RenderingEngineTemplateImpl(final NodeRef nodeRef,
|
||||||
final NodeRef renditionPropertiesNodeRef,
|
final NodeRef renditionPropertiesNodeRef)
|
||||||
final NodeService nodeService,
|
|
||||||
final ContentService contentService,
|
|
||||||
final TemplateService templateService)
|
|
||||||
{
|
{
|
||||||
this.nodeRef = nodeRef;
|
this.nodeRef = nodeRef;
|
||||||
this.renditionPropertiesNodeRef = renditionPropertiesNodeRef;
|
this.renditionPropertiesNodeRef = renditionPropertiesNodeRef;
|
||||||
this.nodeService = nodeService;
|
|
||||||
this.contentService = contentService;
|
|
||||||
this.templateService = templateService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return (String)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(this.nodeRef,
|
return (String)nodeService.getProperty(this.nodeRef, ContentModel.PROP_NAME);
|
||||||
ContentModel.PROP_NAME);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription()
|
public String getDescription()
|
||||||
{
|
{
|
||||||
return (String)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(this.nodeRef,
|
return (String)nodeService.getProperty(this.nodeRef,
|
||||||
ContentModel.PROP_DESCRIPTION);
|
ContentModel.PROP_DESCRIPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getOutputPathPattern()
|
public String getOutputPathPattern()
|
||||||
{
|
{
|
||||||
return (String)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(this.renditionPropertiesNodeRef,
|
return (String)nodeService.getProperty(this.renditionPropertiesNodeRef,
|
||||||
WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_RENDITION);
|
WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_RENDITION);
|
||||||
}
|
}
|
||||||
|
|
||||||
public NodeRef getNodeRef()
|
public NodeRef getNodeRef()
|
||||||
@@ -105,8 +100,9 @@ public class RenderingEngineTemplateImpl
|
|||||||
public InputStream getInputStream()
|
public InputStream getInputStream()
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
|
final ContentService contentService = this.getServiceRegistry().getContentService();
|
||||||
final ContentReader contentReader =
|
final ContentReader contentReader =
|
||||||
this.contentService.getReader(this.nodeRef, ContentModel.TYPE_CONTENT);
|
contentService.getReader(this.nodeRef, ContentModel.TYPE_CONTENT);
|
||||||
return contentReader.getContentInputStream();
|
return contentReader.getContentInputStream();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,9 +113,10 @@ public class RenderingEngineTemplateImpl
|
|||||||
*/
|
*/
|
||||||
public RenderingEngine getRenderingEngine()
|
public RenderingEngine getRenderingEngine()
|
||||||
{
|
{
|
||||||
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
final String renderingEngineName = (String)
|
final String renderingEngineName = (String)
|
||||||
this.nodeService.getProperty(this.nodeRef,
|
nodeService.getProperty(this.nodeRef,
|
||||||
WCMModel.PROP_PARENT_RENDERING_ENGINE_NAME);
|
WCMModel.PROP_PARENT_RENDERING_ENGINE_NAME);
|
||||||
final FormsService fs = FormsService.getInstance();
|
final FormsService fs = FormsService.getInstance();
|
||||||
return fs.getRenderingEngine(renderingEngineName);
|
return fs.getRenderingEngine(renderingEngineName);
|
||||||
}
|
}
|
||||||
@@ -131,62 +128,37 @@ public class RenderingEngineTemplateImpl
|
|||||||
*/
|
*/
|
||||||
public String getOutputPathForRendition(final NodeRef formInstanceDataNodeRef)
|
public String getOutputPathForRendition(final NodeRef formInstanceDataNodeRef)
|
||||||
{
|
{
|
||||||
|
final ServiceRegistry sr = this.getServiceRegistry();
|
||||||
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
final String outputPathPattern = (String)
|
final String outputPathPattern = (String)
|
||||||
this.nodeService.getProperty(this.renditionPropertiesNodeRef,
|
nodeService.getProperty(this.renditionPropertiesNodeRef,
|
||||||
WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_RENDITION);
|
WCMModel.PROP_OUTPUT_PATH_PATTERN_FOR_RENDITION);
|
||||||
final String formInstanceDataAVMPath =
|
final String formInstanceDataAVMPath =
|
||||||
AVMNodeConverter.ToAVMVersionPath(formInstanceDataNodeRef).getSecond();
|
AVMNodeConverter.ToAVMVersionPath(formInstanceDataNodeRef).getSecond();
|
||||||
|
|
||||||
final TemplateHashModel formInstanceDataModel = new TemplateHashModel()
|
final Map<String, Object> root = new HashMap<String, Object>();
|
||||||
|
|
||||||
|
final String formInstanceDataName = (String)
|
||||||
|
sr.getNodeService().getProperty(formInstanceDataNodeRef, ContentModel.PROP_NAME);
|
||||||
|
root.put("name",
|
||||||
|
formInstanceDataName.replaceAll("(.+)\\..*", "$1"));
|
||||||
|
root.put("extension",
|
||||||
|
sr.getMimetypeService().getExtension(this.getMimetypeForRendition()));
|
||||||
|
|
||||||
|
try
|
||||||
{
|
{
|
||||||
private TemplateModel formInstanceDataModel;
|
final FormsService fs = FormsService.getInstance();
|
||||||
|
root.put("xml", NodeModel.wrap(fs.parseXML(formInstanceDataNodeRef)));
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LOGGER.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
public TemplateModel get(final String key)
|
root.put("node", new TemplateNode(formInstanceDataNodeRef, sr, null));
|
||||||
{
|
|
||||||
LOGGER.debug("looking up property " + key);
|
|
||||||
if ("xml".equals(key))
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (formInstanceDataModel == null)
|
|
||||||
{
|
|
||||||
final FormsService fs = FormsService.getInstance();
|
|
||||||
final Document formInstanceData = fs.parseXML(formInstanceDataNodeRef);
|
|
||||||
formInstanceDataModel = NodeModel.wrap(formInstanceData);
|
|
||||||
}
|
|
||||||
return formInstanceDataModel;
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
LOGGER.error(e);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
final Map<QName, Serializable> properties =
|
|
||||||
nodeService.getProperties(formInstanceDataNodeRef);
|
|
||||||
for (QName qname : properties.keySet())
|
|
||||||
{
|
|
||||||
if (qname.getLocalName().equals(key))
|
|
||||||
{
|
|
||||||
return new SimpleScalar((String)properties.get(qname));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isEmpty()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
final Map<String, TemplateModel> root = new HashMap<String, TemplateModel>();
|
|
||||||
root.put("formInstanceData", formInstanceDataModel);
|
|
||||||
root.put("date", new SimpleDate(new Date(), SimpleDate.DATETIME));
|
root.put("date", new SimpleDate(new Date(), SimpleDate.DATETIME));
|
||||||
|
|
||||||
|
final TemplateService templateService = sr.getTemplateService();
|
||||||
String result = templateService.processTemplateString(null,
|
String result = templateService.processTemplateString(null,
|
||||||
outputPathPattern,
|
outputPathPattern,
|
||||||
new SimpleHash(root));
|
new SimpleHash(root));
|
||||||
@@ -203,17 +175,25 @@ public class RenderingEngineTemplateImpl
|
|||||||
*/
|
*/
|
||||||
public String getMimetypeForRendition()
|
public String getMimetypeForRendition()
|
||||||
{
|
{
|
||||||
return (String)
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
this.nodeService.getProperty(this.renditionPropertiesNodeRef,
|
return (String)nodeService.getProperty(this.renditionPropertiesNodeRef,
|
||||||
WCMModel.PROP_MIMETYPE_FOR_RENDITION);
|
WCMModel.PROP_MIMETYPE_FOR_RENDITION);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void registerRendition(final NodeRef renditionNodeRef,
|
public void registerRendition(final NodeRef renditionNodeRef,
|
||||||
final NodeRef primaryFormInstanceDataNodeRef)
|
final NodeRef primaryFormInstanceDataNodeRef)
|
||||||
{
|
{
|
||||||
|
final NodeService nodeService = this.getServiceRegistry().getNodeService();
|
||||||
final Map<QName, Serializable> props = new HashMap<QName, Serializable>(2, 1.0f);
|
final Map<QName, Serializable> props = new HashMap<QName, Serializable>(2, 1.0f);
|
||||||
props.put(WCMModel.PROP_PARENT_RENDERING_ENGINE_TEMPLATE, this.nodeRef);
|
props.put(WCMModel.PROP_PARENT_RENDERING_ENGINE_TEMPLATE, this.nodeRef);
|
||||||
props.put(WCMModel.PROP_PRIMARY_FORM_INSTANCE_DATA, primaryFormInstanceDataNodeRef);
|
props.put(WCMModel.PROP_PRIMARY_FORM_INSTANCE_DATA, primaryFormInstanceDataNodeRef);
|
||||||
this.nodeService.addAspect(renditionNodeRef, WCMModel.ASPECT_RENDITION, props);
|
nodeService.addAspect(renditionNodeRef, WCMModel.ASPECT_RENDITION, props);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
private ServiceRegistry getServiceRegistry()
|
||||||
|
{
|
||||||
|
final FacesContext fc = FacesContext.getCurrentInstance();
|
||||||
|
return Repository.getServiceRegistry(fc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -2070,6 +2070,10 @@
|
|||||||
<property-name>mimetypeService</property-name>
|
<property-name>mimetypeService</property-name>
|
||||||
<value>#{MimetypeService}</value>
|
<value>#{MimetypeService}</value>
|
||||||
</managed-property>
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>workflowService</property-name>
|
||||||
|
<value>#{WorkflowService}</value>
|
||||||
|
</managed-property>
|
||||||
</managed-bean>
|
</managed-bean>
|
||||||
|
|
||||||
<managed-bean>
|
<managed-bean>
|
||||||
|
@@ -61,7 +61,9 @@
|
|||||||
|
|
||||||
<h:panelGrid id="panel_grid_2"
|
<h:panelGrid id="panel_grid_2"
|
||||||
columns="1" cellpadding="3" cellspacing="3" border="0" width="100%">
|
columns="1" cellpadding="3" cellspacing="3" border="0" width="100%">
|
||||||
<h:outputText id="step-1-text" value="1. #{msg.create_form_details_step1_desc}" escape="false" />
|
<h:outputText id="step-1-text"
|
||||||
|
value="1. #{msg.create_form_form_details_step1_desc}"
|
||||||
|
escape="false" />
|
||||||
|
|
||||||
<h:panelGrid id="schema_panel_grid"
|
<h:panelGrid id="schema_panel_grid"
|
||||||
columns="3" cellpadding="3" cellspacing="3" border="0" width="100%">
|
columns="3" cellpadding="3" cellspacing="3" border="0" width="100%">
|
||||||
@@ -113,11 +115,11 @@ if (upload == null || upload.getFile() == null)
|
|||||||
</h:selectOneMenu>
|
</h:selectOneMenu>
|
||||||
<h:outputText id="schema-root-element-name-no-choices"
|
<h:outputText id="schema-root-element-name-no-choices"
|
||||||
rendered="#{empty WizardManager.bean.schemaRootElementNameChoices}"
|
rendered="#{empty WizardManager.bean.schemaRootElementNameChoices}"
|
||||||
value="#{msg.no_schema_selected}"/>
|
value="#{msg.create_form_form_details_no_schema_selected}"/>
|
||||||
|
|
||||||
</h:panelGrid>
|
</h:panelGrid>
|
||||||
|
|
||||||
<h:outputText id="step-2-text" value="2. #{msg.create_form_details_step2_desc}" escape="false" />
|
<h:outputText id="step-2-text" value="2. #{msg.create_form_form_details_step2_desc}" escape="false" />
|
||||||
|
|
||||||
<h:panelGrid id="details_panel_grid"
|
<h:panelGrid id="details_panel_grid"
|
||||||
columns="3" cellpadding="3" cellspacing="3" border="0" width="100%">
|
columns="3" cellpadding="3" cellspacing="3" border="0" width="100%">
|
||||||
@@ -149,7 +151,7 @@ if (upload == null || upload.getFile() == null)
|
|||||||
value="/images/icons/required_field.gif"
|
value="/images/icons/required_field.gif"
|
||||||
alt="Required Field" />
|
alt="Required Field" />
|
||||||
<h:outputText id="output_text_form_instance_data_output_path_pattern"
|
<h:outputText id="output_text_form_instance_data_output_path_pattern"
|
||||||
value="#{msg.form_instance_data_output_path_pattern}:"/>
|
value="#{msg.output_path_pattern}:"/>
|
||||||
<h:inputText id="form_instance_data_output_path_pattern"
|
<h:inputText id="form_instance_data_output_path_pattern"
|
||||||
value="#{WizardManager.bean.outputPathPatternForFormInstanceData}"
|
value="#{WizardManager.bean.outputPathPatternForFormInstanceData}"
|
||||||
style="width:100%"/>
|
style="width:100%"/>
|
||||||
|
@@ -0,0 +1,29 @@
|
|||||||
|
<%--
|
||||||
|
Copyright (C) 2005 Alfresco, Inc.
|
||||||
|
|
||||||
|
Licensed under the Mozilla Public License version 1.1
|
||||||
|
with a permitted attribution clause. You may obtain a
|
||||||
|
copy of the License at
|
||||||
|
|
||||||
|
http://www.alfresco.org/legal/license.txt
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||||
|
either express or implied. See the License for the specific
|
||||||
|
language governing permissions and limitations under the
|
||||||
|
License.
|
||||||
|
--%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
|
||||||
|
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
|
||||||
|
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
|
||||||
|
|
||||||
|
<h:panelGroup>
|
||||||
|
<f:verbatim><div style="height:108px;*height:112px;width:300px;overflow:auto" class="selectListTable"></f:verbatim>
|
||||||
|
<a:selectList id="workflow-list" multiSelect="false" style="width:276px" itemStyleClass="selectListItem"
|
||||||
|
value="#{WizardManager.bean.defaultWorkflowId}">
|
||||||
|
<a:listItems value="#{WizardManager.bean.defaultWorkflowChoices}" />
|
||||||
|
</a:selectList>
|
||||||
|
<f:verbatim></div></f:verbatim>
|
||||||
|
</h:panelGroup>
|
Reference in New Issue
Block a user