Class ContentWorkflowHelper

java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.cms.workflow.ContentWorkflowHelper
All Implemented Interfaces:
LogEnabled, Component, Contextualizable, Serviceable

A component to do workflow actions on Content
  • Field Details

  • Constructor Details

  • Method Details

    • contextualize

      public void contextualize(Context context) throws ContextException
      Specified by:
      contextualize in interface Contextualizable
      Throws:
      ContextException
    • service

      public void service(ServiceManager manager) throws ServiceException
      Specified by:
      service in interface Serviceable
      Throws:
      ServiceException
    • createContent

      public Map<String,Object> createContent(String workflowName, int initialActionId, String contentName, String contentTitle, String[] contentTypes, String[] mixins, String languageCode) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
      Creates a content using the workflow (with the CreateContentFunction).
      Parameters:
      workflowName - The name of the workflow to create
      initialActionId - The workflow action id that creates content
      contentName - The new name
      contentTitle - The new title
      contentTypes - The new content types. Cannot be null. Cannot be empty.
      mixins - The new mixins. Can be null. Can be empty.
      languageCode - The language code of the new content (such as 'fr', 'en'...)
      Returns:
      The workflow result map. See the create content function used to get the new content. Can be under the key CreateContentFunction.CONTENT_KEY, and the id under the key "contentId"
      Throws:
      com.opensymphony.workflow.WorkflowException - If an error occurred while doing the action on the workflow
      AmetysRepositoryException - If cannot get the workflow identifier of the content
    • createContent

      public Map<String,Object> createContent(String workflowName, int initialActionId, String contentName, Map<String,String> titleVariants, String[] contentTypes, String[] mixins) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
      Creates a multilingual content with a multilingual title using the workflow (with the CreateContentFunction).
      Parameters:
      workflowName - The name of the workflow to create
      initialActionId - The workflow action id that creates content
      contentName - The new name
      titleVariants - The title's variants
      contentTypes - The new content types. Cannot be null. Cannot be empty.
      mixins - The new mixins. Can be null. Can be empty.
      Returns:
      The workflow result map. See the create content function used to get the new content. Can be under the key CreateContentFunction.CONTENT_KEY, and the id under the key "contentId"
      Throws:
      com.opensymphony.workflow.WorkflowException - If an error occurred while doing the action on the workflow
      AmetysRepositoryException - If cannot get the workflow identifier of the content
    • createContent

      public Map<String,Object> createContent(String workflowName, int initialActionId, String contentName, String contentTitle, String[] contentTypes, String[] mixins, String languageCode, String parentContentId, String parentContentMetadatapath) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
      Creates a content using the workflow (with the CreateContentFunction).
      Parameters:
      workflowName - The name of the workflow to create
      initialActionId - The workflow action id that creates content
      contentName - The new name
      contentTitle - The new title
      contentTypes - The new content types. Cannot be null. Cannot be empty.
      mixins - The new mixins. Can be null. Can be empty.
      languageCode - The language code of the new content (such as 'fr', 'en'...)
      parentContentId - If the new content is a subcontent, the parent content identifier.
      parentContentMetadatapath - If the new content is a subcontent, the path of the metadata where the new content will take place in its parent
      Returns:
      The workflow result map. See the create content function used to get the new content. Can be under the key CreateContentFunction.CONTENT_KEY, and the id under the key "contentId"
      Throws:
      com.opensymphony.workflow.WorkflowException - If an error occurred while doing the action on the workflow
      AmetysRepositoryException - If cannot get the workflow identifier of the content
    • createContent

      public Map<String,Object> createContent(String workflowName, int initialActionId, String contentName, Map<String,String> titleVariants, String[] contentTypes, String[] mixins, String parentContentId, String parentContentMetadatapath) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
      Creates a multilingual content with a multilingual title using the workflow (with the CreateContentFunction).
      Parameters:
      workflowName - The name of the workflow to create
      initialActionId - The workflow action id that creates content
      contentName - The new name
      titleVariants - The title's variants
      contentTypes - The new content types. Cannot be null. Cannot be empty.
      mixins - The new mixins. Can be null. Can be empty.
      parentContentId - If the new content is a subcontent, the parent content identifier.
      parentContentMetadatapath - If the new content is a subcontent, the path of the metadata where the new content will take place in its parent
      Returns:
      The workflow result map. See the create content function used to get the new content. Can be under the key CreateContentFunction.CONTENT_KEY, and the id under the key "contentId"
      Throws:
      com.opensymphony.workflow.WorkflowException - If an error occurred while doing the action on the workflow
      AmetysRepositoryException - If cannot get the workflow identifier of the content
    • createContent

      public Map<String,Object> createContent(String workflowName, int initialActionId, String contentName, String contentTitle, String[] contentTypes, String[] mixins, String languageCode, String parentContentId, String parentContentMetadatapath, Map<String,Object> inputs) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
      Creates a content using the workflow (with the CreateContentFunction).
      Parameters:
      workflowName - The name of the workflow to create
      initialActionId - The workflow action id that creates content
      contentName - The new name
      contentTitle - The new title
      contentTypes - The new content types. Cannot be null. Cannot be empty.
      mixins - The new mixins. Can be null. Can be empty.
      languageCode - The language code of the new content (such as 'fr', 'en'...)
      parentContentId - If the new content is a subcontent, the parent content identifier.
      parentContentMetadatapath - If the new content is a subcontent, the path of the metadata where the new content will take place in its parent
      inputs - The parameters to transmit to the workflow functions. Cannot be null.
      Returns:
      The workflow result map. See the create content function used to get the new content. Can be under the key CreateContentFunction.CONTENT_KEY, and the id under the key "contentId"
      Throws:
      com.opensymphony.workflow.WorkflowException - If an error occurred while doing the action on the workflow
      AmetysRepositoryException - If cannot get the workflow identifier of the content
    • createContent

      public Map<String,Object> createContent(String workflowName, int initialActionId, String contentName, Map<String,String> titleVariants, String[] contentTypes, String[] mixins, String parentContentId, String parentContentMetadatapath, Map<String,Object> inputs) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
      Creates a multilingual content with a multilingual title using the workflow (with the CreateContentFunction).
      Parameters:
      workflowName - The name of the workflow to create
      initialActionId - The workflow action id that creates content
      contentName - The new name
      titleVariants - The title's variants
      contentTypes - The new content types. Cannot be null. Cannot be empty.
      mixins - The new mixins. Can be null. Can be empty.
      parentContentId - If the new content is a subcontent, the parent content identifier.
      parentContentMetadatapath - If the new content is a subcontent, the path of the metadata where the new content will take place in its parent
      inputs - The parameters to transmit to the workflow functions. Cannot be null.
      Returns:
      The workflow result map. See the create content function used to get the new content. Can be under the key CreateContentFunction.CONTENT_KEY, and the id under the key "contentId"
      Throws:
      com.opensymphony.workflow.WorkflowException - If an error occurred while doing the action on the workflow
      AmetysRepositoryException - If cannot get the workflow identifier of the content
    • isAvailableAction

      public boolean isAvailableAction(WorkflowAwareContent content, int actionId)
      Determines if the workflow action is available
      Parameters:
      content - the content to consider.
      actionId - the workflow action id to check
      Returns:
      true if the wortkflow action is available
    • getAvailableActions

      public int[] getAvailableActions(WorkflowAwareContent content)
      Get the available workflow actions for the content
      Parameters:
      content - The content to consider. Cannot be null.
      Returns:
      The array of actions ids that are available now
    • getAvailableActions

      public int[] getAvailableActions(WorkflowAwareContent content, Map<String,Object> inputs)
      Get the available workflow actions for the content
      Parameters:
      content - The content to consider. Cannot be null.
      inputs - The parameters to transmit to the workflow functions. Cannot be null.
      Returns:
      The array of actions ids that are available now
    • doAction

      public Map<String,Object> doAction(WorkflowAwareContent content, int actionId) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
      Do a workflow action on a content.
      Parameters:
      content - The content to act on. Cannot be null.
      actionId - The id of the workflow action to do
      Returns:
      The results of the functions
      Throws:
      com.opensymphony.workflow.WorkflowException - If an error occurred while doing the action on the workflow
      AmetysRepositoryException - If cannot get the workflow identifier of the content
    • doAction

      public Map<String,Object> doAction(WorkflowAwareContent content, int actionId, Map<String,Object> inputs) throws AmetysRepositoryException, com.opensymphony.workflow.WorkflowException
      Do a workflow action on a content.
      Parameters:
      content - The content to act on. Cannot be null.
      actionId - The id of the workflow action to do
      inputs - The parameters to transmit to the workflow functions. Cannot be null. The special key AbstractWorkflowComponent.CONTEXT_PARAMETERS_KEY will be filled with the parent context if null (this means that if your are in a request dispatched, you will automatically get the js parameters).
      Returns:
      The results of the functions
      Throws:
      com.opensymphony.workflow.WorkflowException - If an error occurred while doing the action on the workflow
      AmetysRepositoryException - If cannot get the workflow identifier of the content
    • editContent

      public Map<String,Object> editContent(WorkflowAwareContent content, Map<String,Object> values, int workflowActionId) throws com.opensymphony.workflow.WorkflowException
      Edit a Content programmatically.
      Parameters:
      content - the ModifiableContent.
      values - the typed values to set.
      workflowActionId - the id of the workflow action
      Returns:
      the workflow results.
      Throws:
      com.opensymphony.workflow.WorkflowException - if an error occurs while processing the workflow action
    • editContent

      public Map<String,Object> editContent(WorkflowAwareContent content, Map<String,Object> values, int workflowActionId, View view) throws com.opensymphony.workflow.WorkflowException
      Edit a Content programmatically.
      Parameters:
      content - the ModifiableContent.
      values - the typed values to set.
      workflowActionId - the id of the workflow action
      view - the view to edit
      Returns:
      the workflow results.
      Throws:
      com.opensymphony.workflow.WorkflowException - if an error occurs while processing the workflow action