public class CreateContentFunction extends AbstractContentWorkflowComponent implements com.opensymphony.workflow.FunctionProvider
| Modifier and Type | Field and Description | 
|---|---|
protected ContentTypeExtensionPoint | 
_contentTypeEP
The content types handler 
 | 
protected ContentTypesHelper | 
_contentTypeHelper
The content types helper 
 | 
protected ObservationManager | 
_observationManager
Observation manager available to subclasses. 
 | 
protected AmetysObjectResolver | 
_resolver
Ametys object resolver available to subclasses. 
 | 
static String | 
CONTENT_LANGUAGE_KEY
Constant for storing the content language to use into the transient variables map. 
 | 
static String | 
CONTENT_MIXINS_KEY
Constant for storing the content mixins to use into the transient variables map. 
 | 
static String | 
CONTENT_NAME_KEY
Constant for storing the content name to use into the transient variables map. 
 | 
static String | 
CONTENT_TITLE_KEY
Constant for storing the content title to use into the transient variables map. 
 | 
static String | 
CONTENT_TITLE_VARIANTS_KEY
Constant for storing the content title variants (for multilingual content only) to use into the transient variables map. 
 | 
static String | 
CONTENT_TYPES_KEY
Constant for storing the content types to use into the transient variables map. 
 | 
static String | 
PARENT_CONTENT_ID_KEY
Constant for storing the parent content to use into the transient variables map. 
 | 
static String | 
PARENT_CONTENT_METADATA_PATH_KEY
Constant for storing the parent content metadata path to use into the transient variables map. 
 | 
_contentHelper, CONTENT_KEY_logger, _manager, CONTEXT_PARAMETERS_KEY, FAIL_CONDITIONS_KEY, RESULT_MAP_KEY, WORKFLOW_ERRORS_KEY, WORKFLOW_WARNS_KEY| Constructor and Description | 
|---|
CreateContentFunction()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected ModifiableWorkflowAwareContent | 
_createContent(Map transientVars,
              String desiredContentName,
              ModifiableTraversableAmetysObject contentsNode)
Create the content object. 
 | 
protected Map<String,Object> | 
_eventParamsForContentAdded(Content content)
Gets the event parameters sent in method  
_notifyContentAdded(Content, Map) | 
protected ModifiableTraversableAmetysObject | 
_getContentRoot(Map transientVars)
Retrieve the content root. 
 | 
protected String | 
_getNonNullVar(Map transientVars,
              String name,
              String exceptionName)
Get a workflow parameter, throwing an exception if it is null. 
 | 
protected String | 
_getObjectType(Map transientVars)
Return the type of the object to be created. 
 | 
protected ModifiableTraversableAmetysObject | 
_getSubContentRoot(String parentContentId,
                  String parentContentMetadataPath)
Get the content root when creating a sub-content. 
 | 
private void | 
_initWorkflow(Map transientVars,
             ModifiableWorkflowAwareContent content,
             Session session,
             long workflowId)  | 
protected boolean | 
_isMultilingual(String[] contentTypes)
Determines if the content to create is a multilingual content 
 | 
protected List<Future> | 
_notifyContentAdded(Content content,
                   Map transientVars)
Notify observers that the content has been created 
 | 
protected void | 
_populateAdditionalData(Map transientVars,
                       ModifiableContent content)
Populate the content. 
 | 
protected void | 
_populateContent(Map transientVars,
                ModifiableContent content)
Populate the content. 
 | 
protected void | 
_setTitle(ModifiableContent content,
         String[] cTypes,
         Map<String,String> titleVariants,
         Locale locale)
Set the content's title variants 
 | 
void | 
execute(Map transientVars,
       Map args,
       com.opensymphony.module.propertyset.PropertySet ps)  | 
protected UserIdentity | 
getSystemUser()
Get the user to use when the content is created in a background environment. 
 | 
void | 
service(ServiceManager manager)  | 
getContentaddWorkflowError, addWorkflowWarning, enableLogging, getConditionFailures, getContextParameters, getResultsMap, getUserpublic static final String CONTENT_NAME_KEY
public static final String CONTENT_TITLE_KEY
public static final String CONTENT_TITLE_VARIANTS_KEY
public static final String CONTENT_TYPES_KEY
public static final String CONTENT_MIXINS_KEY
public static final String CONTENT_LANGUAGE_KEY
public static final String PARENT_CONTENT_ID_KEY
public static final String PARENT_CONTENT_METADATA_PATH_KEY
protected AmetysObjectResolver _resolver
protected ObservationManager _observationManager
protected ContentTypeExtensionPoint _contentTypeEP
protected ContentTypesHelper _contentTypeHelper
public CreateContentFunction()
public void service(ServiceManager manager) throws ServiceException
service in interface Serviceableservice in class AbstractContentWorkflowComponentServiceExceptionpublic void execute(Map transientVars, Map args, com.opensymphony.module.propertyset.PropertySet ps) throws com.opensymphony.workflow.WorkflowException
execute in interface com.opensymphony.workflow.FunctionProvidercom.opensymphony.workflow.WorkflowExceptionprivate void _initWorkflow(Map transientVars, ModifiableWorkflowAwareContent content, Session session, long workflowId) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
AmetysRepositoryExceptioncom.opensymphony.workflow.WorkflowExceptionprotected void _setTitle(ModifiableContent content, String[] cTypes, Map<String,String> titleVariants, Locale locale) throws AmetysRepositoryException
content - The contentcTypes - The content's content typestitleVariants - The title's variantslocale - The title's locale. Cannot be null if content is a non-multilingual content.AmetysRepositoryException - if failed to set titleprotected boolean _isMultilingual(String[] contentTypes)
contentTypes - The content types of content to createprotected List<Future> _notifyContentAdded(Content content, Map transientVars) throws com.opensymphony.workflow.WorkflowException
content - The content addedtransientVars - The workflow varsFuture objects of the asynchronous observerscom.opensymphony.workflow.WorkflowException - If an error occurredprotected Map<String,Object> _eventParamsForContentAdded(Content content)
_notifyContentAdded(Content, Map)content - The content addedprotected ModifiableWorkflowAwareContent _createContent(Map transientVars, String desiredContentName, ModifiableTraversableAmetysObject contentsNode)
transientVars - the workflow parameters.desiredContentName - the desired content name.contentsNode - the content root node in the repository.protected String _getObjectType(Map transientVars)
transientVars - The workflow varsprotected ModifiableTraversableAmetysObject _getContentRoot(Map transientVars) throws com.opensymphony.workflow.WorkflowException
transientVars - the workflow parameters.com.opensymphony.workflow.WorkflowException - if an error occursprotected ModifiableTraversableAmetysObject _getSubContentRoot(String parentContentId, String parentContentMetadataPath) throws com.opensymphony.workflow.WorkflowException
parentContentId - the parent content ID.parentContentMetadataPath - the path of the metadata in which to create the sub-content.com.opensymphony.workflow.WorkflowException - if an error occurs.protected String _getNonNullVar(Map transientVars, String name, String exceptionName) throws com.opensymphony.workflow.WorkflowException
transientVars - the workflow parameters.name - the variable name.exceptionName - label of the exception to throw if the variable is null.com.opensymphony.workflow.WorkflowException - If an error occurredprotected void _populateContent(Map transientVars, ModifiableContent content) throws com.opensymphony.workflow.WorkflowException
transientVars - the transient variables.content - the content.com.opensymphony.workflow.WorkflowException - if an error occurs.protected UserIdentity getSystemUser()
protected void _populateAdditionalData(Map transientVars, ModifiableContent content) throws com.opensymphony.workflow.WorkflowException
transientVars - the transient variables.content - the content.com.opensymphony.workflow.WorkflowException - if an error occurs.