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 Classes Modifier and Type Class Description static classWorkflowProvider.AmetysObjectWorkflowLocal workflow to an ametys objectstatic classWorkflowProvider.ExternalWorkflowThe External worklfowstatic classWorkflowProvider.GenericWorkflowThe Generic worklfow 
- 
Field Summary
Fields Modifier and Type Field Description protected Context_cocoonContextCocoon contextprotected CurrentUserProvider_currentUserProviderCurrent user provider.protected WorkflowProvider.GenericWorkflow_genericWorkflowGeneric workflow instanceprotected static org.slf4j.Logger_loggerLogger available to subclasses.protected ServiceManager_managerService manager.protected Repository_repositoryThe repositoryprotected SourceResolver_resolverThe source resolverprotected com.opensymphony.workflow.TypeResolver_typeResolverType resolverprotected com.opensymphony.workflow.WorkflowContext_workflowContextWorkflow contextprotected com.opensymphony.workflow.loader.WorkflowFactory_workflowFactoryWorkflow factoryprotected WorkflowHelper_workflowHelperThe workflow helperstatic StringROLEAvalon role. 
- 
Constructor Summary
Constructors Constructor Description WorkflowProvider() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AmetysObjectWorkflowStore_createAmetysObjectWorkflowStore(WorkflowAwareAmetysObject ametysObject, boolean preserveHistory)Provide an ametys object workflow store instanceprotected GenericWorkflowStore_createGenericWorkflowStore()Provide the generic workflow storevoidcontextualize(Context ctx)voiddispose()WorkflowProvider.AmetysObjectWorkflowgetAmetysObjectWorkflow()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.AmetysObjectWorkflowgetAmetysObjectWorkflow(boolean preserveHistory)Provide a local workflow to an Ametys object Must be used to initialize a workflow that will create an ametys object.WorkflowProvider.AmetysObjectWorkflowgetAmetysObjectWorkflow(WorkflowAwareAmetysObject ametysObject)Provide a local workflow to an Ametys object which do not preserve history on workflow completeWorkflowProvider.AmetysObjectWorkflowgetAmetysObjectWorkflow(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.WorkflowgetGenericWorkflow()Provides the generic workflow(package private) com.opensymphony.workflow.loader.WorkflowFactorygetWorkflowFactory()Workflow factory gettervoidinitialize()voidservice(ServiceManager manager) 
 - 
 
- 
- 
Field Detail
- 
_logger
protected static org.slf4j.Logger _logger
Logger available to subclasses. 
- 
_manager
protected ServiceManager _manager
Service manager. 
- 
_currentUserProvider
protected CurrentUserProvider _currentUserProvider
Current user provider. 
- 
_repository
protected Repository _repository
The repository 
- 
_workflowHelper
protected WorkflowHelper _workflowHelper
The workflow helper 
- 
_cocoonContext
protected Context _cocoonContext
Cocoon context 
- 
_workflowContext
protected com.opensymphony.workflow.WorkflowContext _workflowContext
Workflow context 
- 
_workflowFactory
protected com.opensymphony.workflow.loader.WorkflowFactory _workflowFactory
Workflow factory 
- 
_typeResolver
protected com.opensymphony.workflow.TypeResolver _typeResolver
Type resolver 
- 
_genericWorkflow
protected WorkflowProvider.GenericWorkflow _genericWorkflow
Generic workflow instance 
- 
_resolver
protected SourceResolver _resolver
The source resolver 
 - 
 
- 
Constructor Detail
- 
WorkflowProvider
public WorkflowProvider()
 
 - 
 
- 
Method Detail
- 
contextualize
public void contextualize(Context ctx) throws ContextException
- Specified by:
 contextualizein interfaceContextualizable- Throws:
 ContextException
 
- 
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
 servicein interfaceServiceable- Throws:
 ServiceException
 
- 
initialize
public void initialize() throws Exception
- Specified by:
 initializein interfaceInitializable- Throws:
 Exception
 
- 
dispose
public void dispose()
- Specified by:
 disposein interfaceDisposable
 
- 
getWorkflowFactory
com.opensymphony.workflow.loader.WorkflowFactory getWorkflowFactory()
Workflow factory getter- Returns:
 - The workflow factory
 
 
- 
getGenericWorkflow
public com.opensymphony.workflow.Workflow getGenericWorkflow()
Provides the generic workflow- Returns:
 - The generic workflow
 
 
- 
_createGenericWorkflowStore
protected GenericWorkflowStore _createGenericWorkflowStore()
Provide the generic workflow store- Returns:
 - The generic workflow store
 
 
- 
getAmetysObjectWorkflow
public WorkflowProvider.AmetysObjectWorkflow 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
public WorkflowProvider.AmetysObjectWorkflow getAmetysObjectWorkflow(boolean preserveHistory)
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
public com.opensymphony.workflow.Workflow getExternalWorkflow(String workflowStoreRole)
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
 
 
 - 
 
 -