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
-
-