Class WorkflowProvider
java.lang.Object
org.ametys.plugins.workflow.support.WorkflowProvider
- All Implemented Interfaces:
Disposable,Initializable,Component,Contextualizable,Serviceable
- Direct Known Subclasses:
WebWorkflowProvider
public class WorkflowProvider
extends Object
implements Component, Serviceable, Contextualizable, Initializable, Disposable
Component able to provide several workflow objects.
- The generic workflow: A standalone workflow which can be used for various purposes. All entries are stored under a global workflow root node in the JCR repository.
- Dedicated ametys object workflows: A workflow specific to an ametys object. The workflow is stored under the ametys object node the JCR repository.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classLocal workflow to an ametys objectstatic classThe External worklfowstatic classThe Generic worklfow -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AmetysObjectResolverThe ametys object resolverprotected ContextCocoon contextprotected CurrentUserProviderCurrent user provider.protected WorkflowProvider.GenericWorkflowGeneric workflow instanceprotected static org.slf4j.LoggerLogger available to subclasses.protected ServiceManagerService manager.protected javax.jcr.RepositoryThe repositoryprotected SourceResolverThe source resolverprotected com.opensymphony.workflow.TypeResolverType resolverprotected com.opensymphony.workflow.WorkflowContextWorkflow contextprotected com.opensymphony.workflow.loader.WorkflowFactoryWorkflow factoryprotected WorkflowHelperThe workflow helperstatic final StringAvalon role. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected AmetysObjectWorkflowStore_createAmetysObjectWorkflowStore(WorkflowAwareAmetysObject ametysObject, boolean preserveHistory) Provide an ametys object workflow store instanceprotected GenericWorkflowStoreProvide the generic workflow storevoidcontextualize(Context ctx) voiddispose()Provide a local workflow to an Ametys object which do not preserve history on workflow complete Must be used to initialize a workflow that will create an ametys object.getAmetysObjectWorkflow(boolean preserveHistory) Provide a local workflow to an Ametys object Must be used to initialize a workflow that will create an ametys object.getAmetysObjectWorkflow(WorkflowAwareAmetysObject ametysObject) Provide a local workflow to an Ametys object which do not preserve history on workflow completegetAmetysObjectWorkflow(WorkflowAwareAmetysObject ametysObject, boolean preserveHistory) Provide a local workflow to an Ametys objectcom.opensymphony.workflow.WorkflowgetExternalWorkflow(com.opensymphony.workflow.spi.WorkflowStore workflowStore) Provides an external workflowcom.opensymphony.workflow.WorkflowgetExternalWorkflow(String workflowStoreRole) Provides an external workflowcom.opensymphony.workflow.WorkflowProvides the generic workflowvoidvoidservice(ServiceManager manager)
-
Field Details
-
ROLE
Avalon role. -
_logger
Logger available to subclasses. -
_manager
Service manager. -
_currentUserProvider
Current user provider. -
_repository
The repository -
_workflowHelper
The workflow helper -
_cocoonContext
Cocoon context -
_workflowContext
Workflow context -
_workflowFactory
Workflow factory -
_typeResolver
Type resolver -
_genericWorkflow
Generic workflow instance -
_resolver
The source resolver -
_ametysObjectResolver
The ametys object resolver
-
-
Constructor Details
-
WorkflowProvider
public WorkflowProvider()
-
-
Method Details
-
contextualize
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
service
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
initialize
- Specified by:
initializein interfaceInitializable- Throws:
Exception
-
dispose
- Specified by:
disposein interfaceDisposable
-
getGenericWorkflow
Provides the generic workflow- Returns:
- The generic workflow
-
_createGenericWorkflowStore
Provide the generic workflow store- Returns:
- The generic workflow store
-
getAmetysObjectWorkflow
Provide a local workflow to an Ametys object which do not preserve history on workflow complete Must be used to initialize a workflow that will create an ametys object.WorkflowProvider.AmetysObjectWorkflow.getAmetysObject()could then be used to directly retrieves the ametys object.- Returns:
- The local workflow
-
getAmetysObjectWorkflow
Provide a local workflow to an Ametys object Must be used to initialize a workflow that will create an ametys object.WorkflowProvider.AmetysObjectWorkflow.getAmetysObject()could then be used to directly retrieves the ametys object.- Parameters:
preserveHistory- true if the history should be preserve when workflow is complete- Returns:
- The local workflow
-
getAmetysObjectWorkflow
public WorkflowProvider.AmetysObjectWorkflow getAmetysObjectWorkflow(WorkflowAwareAmetysObject ametysObject) Provide a local workflow to an Ametys object which do not preserve history on workflow complete- Parameters:
ametysObject- The ametys object (can be null in case of initialization)- Returns:
- the local workflow to an Ametys object
-
getAmetysObjectWorkflow
public WorkflowProvider.AmetysObjectWorkflow getAmetysObjectWorkflow(WorkflowAwareAmetysObject ametysObject, boolean preserveHistory) Provide a local workflow to an Ametys object- Parameters:
ametysObject- The ametys object (can be null in case of initialization)preserveHistory- true if the history steps should be preserve when workflow is complete- Returns:
- the local workflow to an Ametys object
-
_createAmetysObjectWorkflowStore
protected AmetysObjectWorkflowStore _createAmetysObjectWorkflowStore(WorkflowAwareAmetysObject ametysObject, boolean preserveHistory) Provide an ametys object workflow store instance- Parameters:
ametysObject- The ametys object bound to this store (can be null in case of initialization)preserveHistory- true if the history steps should be preserve when workflow is complete- Returns:
- the local workflow store of an Ametys object
-
getExternalWorkflow
Provides an external workflow- Parameters:
workflowStoreRole- The component role of the workflow store to use.- Returns:
- The external workflow
-
getExternalWorkflow
public com.opensymphony.workflow.Workflow getExternalWorkflow(com.opensymphony.workflow.spi.WorkflowStore workflowStore) Provides an external workflow- Parameters:
workflowStore- An (already initialized) workflow store- Returns:
- The external workflow
-