Class DefaultYFormFacade
- java.lang.Object
-
- de.hybris.platform.xyformsfacades.form.impl.DefaultYFormFacade
-
- All Implemented Interfaces:
YFormFacade
public class DefaultYFormFacade extends java.lang.Object implements YFormFacade
Default Form Facade to handle yForm definitions and yForm data.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringORBEON_APPLICATION_IDprotected static java.lang.StringORBEON_FORM_IDprotected static java.lang.StringTEMPLATE_FORM_ID
-
Constructor Summary
Constructors Constructor Description DefaultYFormFacade()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description YFormDataDatacreateOrUpdateYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId, YFormDataTypeEnum type, java.lang.String content)Create or Update YFormDataModel.YFormDataDatacreateOrUpdateYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId, YFormDataTypeEnum type, java.lang.String refId, java.lang.String content)Create or Update YFormDataModel.YFormDataDatacreateYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId, YFormDataTypeEnum type, java.lang.String refId, java.lang.String content)Create YFormData if no previous one exists.YFormDefinitionDatacreateYFormDefinition(java.lang.String applicationId, java.lang.String formId, java.lang.String content, java.lang.String documentId)Create a new YFormDefinition by the given parameters.java.lang.StringgetFormDataContent(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId)For a given application id, form id and form data id an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged betweenjava.lang.StringgetFormDataContentTemplate(java.lang.String applicationId, java.lang.String formId)For a given application id and form id a form data content template (an empty content generated from YFormDefinition with given form id) is returned.java.lang.StringgetInlineFormHtml(java.lang.String applicationId, java.lang.String formId)For a given application id and form id an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged betweenjava.lang.StringgetInlineFormHtml(java.lang.String applicationId, java.lang.String formId, YFormDataActionEnum action, java.lang.String formDataId)For a given application id, form id, form data id and action an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged betweenjava.lang.StringgetInlineFormHtml(java.lang.String applicationId, java.lang.String formId, YFormDataActionEnum action, java.lang.String formDataId, YFormPreprocessorStrategy strategy)For a given application id, form id, form data id, action and strategy an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged betweenjava.lang.StringgetInlineFormHtml(java.lang.String applicationId, java.lang.String formId, YFormDataActionEnum action, java.lang.String formDataId, YFormPreprocessorStrategy strategy, java.util.Map<java.lang.String,java.lang.Object> params)For a given application id, form id, form data id, action and strategy (plus parameters) an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged betweenjava.lang.StringgetInlineFormHtml(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId)For a given application id, form id and form data id an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged betweenjava.lang.StringgetNewFormDataId()Generates a new form Data idYFormDataDatagetYFormData(java.lang.String formDataId)For a given id a form data is returned.YFormDataDatagetYFormData(java.lang.String formDataId, YFormDataTypeEnum type)For a given id and type a form data is returned.YFormDataDatagetYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String refId)For the given application id, form id and reference id a form data is returned.YFormDataDatagetYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String refId, YFormDataTypeEnum type)For the given application id, form id, reference id and form type a form data is returned.protected Converter<YFormDataModel,YFormDataData>getYFormDataConverter()protected YFormDataModelgetYFormDataModel(java.lang.String formDataId)For a given id a form data is returned, if there is first a DRAFT document it will be return, else the DATA version of itYFormDefinitionDatagetYFormDefinition(java.lang.String documentId)For a given document id a form definition is returned.YFormDefinitionDatagetYFormDefinition(java.lang.String applicationId, java.lang.String formId)For a given application id and form id a form definition is returned.YFormDefinitionDatagetYFormDefinition(java.lang.String applicationId, java.lang.String formId, int version)For a given application id, form id and version number a form definition is returned.protected Converter<YFormDefinitionModel,YFormDefinitionData>getYFormDefinitionConverter()protected YFormServicegetYFormService()java.lang.StringrecreateYFormDefinitionCounterpart(java.lang.String applicationId, java.lang.String formId, int version)Given an application id, form id and version number, the yForm Data counterpart is created.voidsetFormDefinitionStatus(java.lang.String applicationId, java.lang.String formId, YFormDefinitionStatusEnum status)Changes the state of a form definition.voidsetProxyFacade(ProxyFacade proxyFacade)voidsetYFormService(YFormService yformService)YFormDataDataupdateYFormData(java.lang.String formDataId, YFormDataTypeEnum type, java.lang.String content)Update YFormData by the given form data id.YFormDefinitionDataupdateYFormDefinition(java.lang.String applicationId, java.lang.String formId, java.lang.String content, java.lang.String documentId)Update YFormDefinition if it exists in the database.booleanvalidate(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId)/** Indicates if the given Form Data is valid or not.protected voidvalidateFormDefinitionMetadata(java.lang.String applicationId, java.lang.String formId, java.lang.String documentId)Checks if the metadata stored in the YFormData counterpart matches the given applicationId and formId
-
-
-
Field Detail
-
ORBEON_APPLICATION_ID
protected static final java.lang.String ORBEON_APPLICATION_ID
- See Also:
- Constant Field Values
-
ORBEON_FORM_ID
protected static final java.lang.String ORBEON_FORM_ID
- See Also:
- Constant Field Values
-
TEMPLATE_FORM_ID
protected static final java.lang.String TEMPLATE_FORM_ID
- See Also:
- Constant Field Values
-
-
Method Detail
-
getNewFormDataId
public java.lang.String getNewFormDataId()
Generates a new form Data id- Specified by:
getNewFormDataIdin interfaceYFormFacade- Returns:
- generated form data id as string.
-
getYFormDefinition
public YFormDefinitionData getYFormDefinition(java.lang.String applicationId, java.lang.String formId) throws YFormServiceException
For a given application id and form id a form definition is returned.- Specified by:
getYFormDefinitionin interfaceYFormFacade- Parameters:
applicationId-formId-- Returns:
- YFormDefinitionData
- Throws:
YFormServiceException- if form definition cannot with specified parameters be resolved
-
getYFormDefinition
public YFormDefinitionData getYFormDefinition(java.lang.String applicationId, java.lang.String formId, int version) throws YFormServiceException
For a given application id, form id and version number a form definition is returned.- Specified by:
getYFormDefinitionin interfaceYFormFacade- Parameters:
applicationId-formId-version- form definition version- Returns:
- YFormDefinitionData
- Throws:
YFormServiceException- if form definition cannot with specified parameters be resolved
-
getYFormDefinition
public YFormDefinitionData getYFormDefinition(java.lang.String documentId) throws YFormServiceException
For a given document id a form definition is returned.- Specified by:
getYFormDefinitionin interfaceYFormFacade- Parameters:
documentId-- Returns:
- YFormDefinitionData
- Throws:
YFormServiceException- if form definition cannot with specified parameters be resolved
-
createYFormDefinition
public YFormDefinitionData createYFormDefinition(java.lang.String applicationId, java.lang.String formId, java.lang.String content, java.lang.String documentId) throws YFormServiceException
Create a new YFormDefinition by the given parameters.- Specified by:
createYFormDefinitionin interfaceYFormFacade- Parameters:
applicationId-formId-content-documentId-- Returns:
- YFormDefinitionData
- Throws:
YFormServiceException
-
validateFormDefinitionMetadata
protected void validateFormDefinitionMetadata(java.lang.String applicationId, java.lang.String formId, java.lang.String documentId) throws YFormServiceExceptionChecks if the metadata stored in the YFormData counterpart matches the given applicationId and formId- Parameters:
applicationId-formId-documentId-- Throws:
YFormServiceException
-
updateYFormDefinition
@Transactional(propagation=REQUIRED) public YFormDefinitionData updateYFormDefinition(java.lang.String applicationId, java.lang.String formId, java.lang.String content, java.lang.String documentId) throws YFormServiceException
Update YFormDefinition if it exists in the database.- Specified by:
updateYFormDefinitionin interfaceYFormFacade- Parameters:
applicationId-formId-content-documentId-- Returns:
- YFormDefinitionData
- Throws:
YFormServiceException
-
getYFormData
public YFormDataData getYFormData(java.lang.String formDataId) throws YFormServiceException
For a given id a form data is returned. First the DRAFT version if there one, else the DATA version of it.- Specified by:
getYFormDatain interfaceYFormFacade- Parameters:
formDataId-- Returns:
- form data with given id
- Throws:
YFormServiceException
-
getYFormDataModel
protected YFormDataModel getYFormDataModel(java.lang.String formDataId) throws YFormServiceException
For a given id a form data is returned, if there is first a DRAFT document it will be return, else the DATA version of it- Parameters:
formDataId-- Returns:
- YFormDataData
- Throws:
YFormServiceException
-
getYFormData
public YFormDataData getYFormData(java.lang.String formDataId, YFormDataTypeEnum type) throws YFormServiceException
For a given id and type a form data is returned.- Specified by:
getYFormDatain interfaceYFormFacade- Parameters:
formDataId-type- the type of the form data- Returns:
- YFormDataData
- Throws:
YFormServiceException- if form data cannot be found
-
getYFormData
public YFormDataData getYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String refId, YFormDataTypeEnum type) throws YFormServiceException
For the given application id, form id, reference id and form type a form data is returned.- Specified by:
getYFormDatain interfaceYFormFacade- Parameters:
applicationId-formId-refId-type-- Returns:
- YFormDataData
- Throws:
YFormServiceException
-
getYFormData
public YFormDataData getYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String refId) throws YFormServiceException
For the given application id, form id and reference id a form data is returned.- Specified by:
getYFormDatain interfaceYFormFacade- Parameters:
applicationId-formId-refId-- Returns:
- YFormDataData
- Throws:
YFormServiceException
-
recreateYFormDefinitionCounterpart
@Transactional(propagation=REQUIRED) public java.lang.String recreateYFormDefinitionCounterpart(java.lang.String applicationId, java.lang.String formId, int version) throws YFormServiceExceptionGiven an application id, form id and version number, the yForm Data counterpart is created.- Specified by:
recreateYFormDefinitionCounterpartin interfaceYFormFacade- Parameters:
applicationId-formId-version-- Returns:
- the form id of created form data
- Throws:
YFormServiceException
-
updateYFormData
public YFormDataData updateYFormData(java.lang.String formDataId, YFormDataTypeEnum type, java.lang.String content) throws YFormServiceException
Update YFormData by the given form data id.- Specified by:
updateYFormDatain interfaceYFormFacade- Parameters:
formDataId-type-content-- Returns:
- YFormDataData
- Throws:
YFormServiceException- if form data cannot be updated
-
createYFormData
public YFormDataData createYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId, YFormDataTypeEnum type, java.lang.String refId, java.lang.String content) throws YFormServiceException
Create YFormData if no previous one exists. It assigns it to the corresponding YFormDefinition.- Specified by:
createYFormDatain interfaceYFormFacade- Parameters:
applicationId-formId-formDataId-type-refId-content-- Returns:
- YFormDataData
- Throws:
YFormServiceException- if form data cannot be created
-
createOrUpdateYFormData
public YFormDataData createOrUpdateYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId, YFormDataTypeEnum type, java.lang.String refId, java.lang.String content) throws YFormServiceException
Create or Update YFormDataModel.- Specified by:
createOrUpdateYFormDatain interfaceYFormFacade- Parameters:
applicationId-formId-formDataId-type-refId-content-- Returns:
- YFormDataData
- Throws:
YFormServiceException- if form data cannot be created or updated
-
createOrUpdateYFormData
public YFormDataData createOrUpdateYFormData(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId, YFormDataTypeEnum type, java.lang.String content) throws YFormServiceException
Create or Update YFormDataModel.- Specified by:
createOrUpdateYFormDatain interfaceYFormFacade- Parameters:
applicationId-formId-formDataId-type-content-- Returns:
- YFormDataData
- Throws:
YFormServiceException- if form data cannot be created or updated
-
getInlineFormHtml
public java.lang.String getInlineFormHtml(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId) throws YFormServiceExceptionFor a given application id, form id and form data id an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged between- Specified by:
getInlineFormHtmlin interfaceYFormFacade- Parameters:
applicationId-formId-formDataId- the form data id of the definition- Returns:
- String
- Throws:
YFormServiceException- if inline definition cannot be returned
-
getInlineFormHtml
public java.lang.String getInlineFormHtml(java.lang.String applicationId, java.lang.String formId) throws YFormServiceExceptionFor a given application id and form id an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged between- Specified by:
getInlineFormHtmlin interfaceYFormFacade- Parameters:
applicationId-formId-- Returns:
- the inline form definition as string
- Throws:
YFormServiceException
-
getInlineFormHtml
public java.lang.String getInlineFormHtml(java.lang.String applicationId, java.lang.String formId, YFormDataActionEnum action, java.lang.String formDataId) throws YFormServiceExceptionFor a given application id, form id, form data id and action an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged between- Specified by:
getInlineFormHtmlin interfaceYFormFacade- Parameters:
applicationId-formId-action-formDataId-- Returns:
- the inline form definition as string
- Throws:
YFormServiceException
-
getInlineFormHtml
public java.lang.String getInlineFormHtml(java.lang.String applicationId, java.lang.String formId, YFormDataActionEnum action, java.lang.String formDataId, YFormPreprocessorStrategy strategy) throws YFormServiceExceptionFor a given application id, form id, form data id, action and strategy an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged between- Specified by:
getInlineFormHtmlin interfaceYFormFacade- Parameters:
applicationId-formId-action-formDataId-strategy-- Returns:
- the inline form definition as string
- Throws:
YFormServiceException
-
getInlineFormHtml
public java.lang.String getInlineFormHtml(java.lang.String applicationId, java.lang.String formId, YFormDataActionEnum action, java.lang.String formDataId, YFormPreprocessorStrategy strategy, java.util.Map<java.lang.String,java.lang.Object> params) throws YFormServiceExceptionFor a given application id, form id, form data id, action and strategy (plus parameters) an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged between- Specified by:
getInlineFormHtmlin interfaceYFormFacade- Parameters:
applicationId-formId-action-formDataId-strategy-params-- Returns:
- the inline form definition as string
- Throws:
YFormServiceException
-
getFormDataContent
public java.lang.String getFormDataContent(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId) throws YFormServiceExceptionFor a given application id, form id and form data id an inline form definition is returned.
The inline form definition can be injected in to a page instead of getting entire xform tagged between- Specified by:
getFormDataContentin interfaceYFormFacade- Parameters:
applicationId-formId-formDataId-- Returns:
- the content of form data
- Throws:
YFormServiceException
-
getFormDataContentTemplate
public java.lang.String getFormDataContentTemplate(java.lang.String applicationId, java.lang.String formId) throws YFormServiceExceptionDescription copied from interface:YFormFacadeFor a given application id and form id a form data content template (an empty content generated from YFormDefinition with given form id) is returned.- Specified by:
getFormDataContentTemplatein interfaceYFormFacade- Parameters:
applicationId- the application id of the form definitionformId- the form id of the form definition- Returns:
- form data content template for definition with specified parameters
- Throws:
YFormServiceException- if there is no YFormDefinition with given applicationId and formId or YFormDefinition has wrong content
-
validate
public boolean validate(java.lang.String applicationId, java.lang.String formId, java.lang.String formDataId) throws YFormServiceException/** Indicates if the given Form Data is valid or not.- Specified by:
validatein interfaceYFormFacade- Parameters:
applicationId-formId-formDataId-- Returns:
- true if form data is valid, false otherwise
- Throws:
YFormServiceException
-
setFormDefinitionStatus
public void setFormDefinitionStatus(java.lang.String applicationId, java.lang.String formId, YFormDefinitionStatusEnum status) throws YFormServiceExceptionChanges the state of a form definition. This will include all related versions.- Specified by:
setFormDefinitionStatusin interfaceYFormFacade- Parameters:
status-applicationId- the application id of the form definitionformId- the form id of the form definition- Throws:
YFormServiceException- if form definition cannot be found or updated
-
getYFormService
protected YFormService getYFormService()
-
setYFormService
public void setYFormService(YFormService yformService)
-
setProxyFacade
public void setProxyFacade(ProxyFacade proxyFacade)
-
getYFormDefinitionConverter
protected Converter<YFormDefinitionModel,YFormDefinitionData> getYFormDefinitionConverter()
-
getYFormDataConverter
protected Converter<YFormDataModel,YFormDataData> getYFormDataConverter()
-
-