Class WorkflowHelper
java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.plugins.workflow.support.WorkflowHelper
- All Implemented Interfaces:
LogEnabled
,Component
,Contextualizable
,Serviceable
public class WorkflowHelper
extends AbstractLogEnabled
implements Component, Serviceable, Contextualizable
Helper to get information on the workflow structures
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Enum of the types of workflow visibility profiles -
Field Summary
Modifier and TypeFieldDescriptionprotected Context
The Cocoon contextprotected Context
The contextprotected SourceResolver
The source resolverprotected WorkflowProvider
The content types extension pointstatic final String[]
The icon sizesstatic final String
The Avalon role -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
_imageURIExists
(String path) Return if an image existprotected String
_resolveImageAsBase64
(String path) Encode input stream in base64void
contextualize
(Context context) getActionName
(String workflowName, int actionID) Retrieves the name of an action.getAllActions
(com.opensymphony.workflow.loader.WorkflowDescriptor workflowDesc) Retrieves all actions of the workflow of a particular type of workflow except initial actions.getElementIconAsBase64
(I18nizableText workflowElementName, String defaultPath) Return a valid encoded path from i18n key of workflow element, or a default path if URI can't be resolvedgetElementIconPath
(I18nizableText workflowElementName, String defaultPath) Return a valid path from i18n key of workflow element, or a default path if URI can't be resolvedgetElementIconURI
(I18nizableText workflowElementName) Get URI for an element icongetElementIconURI
(I18nizableText workflowElementName, String size) Get URI for an element iconint
getInitialAction
(String workflowName) Retrieves the initial action id of a workflow.Get the param workflows directory.List<com.opensymphony.workflow.spi.Step>
Get the steps the workflow was "in" at a given date.com.opensymphony.workflow.loader.StepDescriptor
getStepDescriptor
(WorkflowAwareAmetysObject ametysObject, int stepId) Get the step descriptor fromWorkflowAwareAmetysObject
getStepName
(String workflowName, int stepId) Retrieves the name of a step.List<com.opensymphony.workflow.spi.Step>
getStepsBetween
(com.opensymphony.workflow.Workflow workflow, long entryId, Date start, Date end) Get the steps the workflow was "in" between two dates.getWorkflowCatalog
(String workflowName) Get the catalog of the workflow.com.opensymphony.workflow.loader.WorkflowDescriptor
getWorkflowDescriptor
(String workflowName) Returns a workflow definition object associated with the given name.getWorkflowLabel
(String workflowName) Get the workflow label.String[]
Get a list of workflow names availablevoid
service
(ServiceManager smanager) workflowStep2JSON
(com.opensymphony.workflow.loader.StepDescriptor step) Serialize a step descriptor to JSONMethods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Field Details
-
ROLE
The Avalon role -
ICON_SIZES
The icon sizes -
_workflowProvider
The content types extension point -
_sourceResolver
The source resolver -
_context
The context -
_cocoonContext
The Cocoon context
-
-
Constructor Details
-
WorkflowHelper
public WorkflowHelper()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
contextualize
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
getWorkflowNames
Get a list of workflow names available- Returns:
- String[] an array of workflow names.
-
getWorkflowDescriptor
public com.opensymphony.workflow.loader.WorkflowDescriptor getWorkflowDescriptor(String workflowName) Returns a workflow definition object associated with the given name.- Parameters:
workflowName
- the name of the workflow- Returns:
- the object graph that represents a workflow definition
-
getAllActions
Retrieves all actions of the workflow of a particular type of workflow except initial actions.- Parameters:
workflowDesc
- the workflow descriptor.- Returns:
- all actions ids.
- Throws:
IllegalArgumentException
- If the workflow name is not valid.
-
getActionName
Retrieves the name of an action.- Parameters:
workflowName
- The name of the workflow.actionID
- The id of the action.- Returns:
- The name of the action or an empty string.
-
getStepName
Retrieves the name of a step.- Parameters:
workflowName
- the name of the workflow.stepId
- the id of the step.- Returns:
- the name of the step or an empty string.
-
getInitialAction
Retrieves the initial action id of a workflow.- Parameters:
workflowName
- the name of the workflow.- Returns:
- the first initial action id or
-1
if the workflow does not exist.
-
getStepAt
public List<com.opensymphony.workflow.spi.Step> getStepAt(com.opensymphony.workflow.Workflow workflow, long entryId, Date timestamp) throws com.opensymphony.workflow.WorkflowException Get the steps the workflow was "in" at a given date.- Parameters:
workflow
- workflowentryId
- the workflow entry ID.timestamp
- the date.- Returns:
- the list of steps the workflow was in.
- Throws:
com.opensymphony.workflow.WorkflowException
- if an error occurs.
-
getStepsBetween
public List<com.opensymphony.workflow.spi.Step> getStepsBetween(com.opensymphony.workflow.Workflow workflow, long entryId, Date start, Date end) throws com.opensymphony.workflow.WorkflowException Get the steps the workflow was "in" between two dates.- Parameters:
workflow
- workflowentryId
- the workflow entry ID.start
- the start date.end
- the end date.- Returns:
- the list of steps the workflow was in between the two dates.
- Throws:
com.opensymphony.workflow.WorkflowException
- if an error occurs.
-
getWorkflowLabel
Get the workflow label.- Parameters:
workflowName
- The name of the workflow- Returns:
- The label of the workflow with an i18n format.
-
getWorkflowCatalog
Get the catalog of the workflow.- Parameters:
workflowName
- The name of the workflow- Returns:
- The i18n catalog
-
getStepDescriptor
public com.opensymphony.workflow.loader.StepDescriptor getStepDescriptor(WorkflowAwareAmetysObject ametysObject, int stepId) Get the step descriptor fromWorkflowAwareAmetysObject
- Parameters:
ametysObject
- the targeted ametysObjectstepId
- the id of the step- Returns:
- the step descriptor or null if an error occurred
-
workflowStep2JSON
Serialize a step descriptor to JSON- Parameters:
step
- the step descriptor- Returns:
- a JSON map including the stepId, name and icons of the step
-
getElementIconAsBase64
Return a valid encoded path from i18n key of workflow element, or a default path if URI can't be resolved- Parameters:
workflowElementName
- i18nKey of the workflowlabel, is used in the path of associated icondefaultPath
- path to default icon if uri can't be resolved- Returns:
- the path to element icon
-
_resolveImageAsBase64
Encode input stream in base64- Parameters:
path
- the path to the icon- Returns:
- the encoded path
-
getElementIconPath
Return a valid path from i18n key of workflow element, or a default path if URI can't be resolved- Parameters:
workflowElementName
- i18nKey of the workflowlabel, is used in the path of associated icondefaultPath
- path to default icon if uri can't be resolved- Returns:
- the resolved path to element icon
-
getElementIconURI
Get URI for an element icon- Parameters:
workflowElementName
- the name of the icon- Returns:
- the URI
-
getElementIconURI
Get URI for an element icon- Parameters:
workflowElementName
- the name of the iconsize
- the wanted size for the icon- Returns:
- the URI
-
_imageURIExists
Return if an image exist- Parameters:
path
- path to the image- Returns:
- true if image is found
-
getParamWorkflowDir
Get the param workflows directory.- Returns:
- the workflows directory in WEB-INF/param.
-