Package lumis.portal.interactiveprocess
Class InteractiveProcessManager
- java.lang.Object
-
- lumis.portal.interactiveprocess.InteractiveProcessManager
-
- All Implemented Interfaces:
IInteractiveProcessManager
public class InteractiveProcessManager extends Object implements IInteractiveProcessManager
IInteractiveProcessManager
implementation.- Since:
- 7.1.0
- Version:
- $Revision: 19644 $ $Date: 2016-12-15 18:34:47 -0200 (Thu, 15 Dec 2016) $
-
-
Constructor Summary
Constructors Constructor Description InteractiveProcessManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IProcess
createProcess(String title, List<Step> steps, IProcessCallbackHandler callbackHandler)
Creates aportal interactive process
with the givensteps
.Process
getProcess(String processId, String ownerId)
Returns the process of the given identifier.
The parameterprocessId
is required.void
recover(String processId)
Changes the process status to "Ready".String
submitProcess(IProcess process)
Submits a process created with#createProcess(String, List)
.String
takeOwnership(String processId)
Takes the ownership of the process with the given identifier.
-
-
-
Method Detail
-
createProcess
public IProcess createProcess(String title, List<Step> steps, IProcessCallbackHandler callbackHandler) throws PortalException
Description copied from interface:IInteractiveProcessManager
Creates aportal interactive process
with the givensteps
. The steps order will be kept unchanged of the one existent in the given list. The created process is not yet ready to be executed. Indeed, it is not persisted yet. After the process object is created, it must be passed to#submitProcess(Process)
in order to be used. Returns the created process object.- Specified by:
createProcess
in interfaceIInteractiveProcessManager
- Parameters:
title
- The process title.steps
- The steps that compose the process.callbackHandler
- The callback handler for the created process. May benull
.- Returns:
- the recently created process' identifier.
- Throws:
PortalException
-
submitProcess
public String submitProcess(IProcess process) throws PortalException
Description copied from interface:IInteractiveProcessManager
Submits a process created with#createProcess(String, List)
. After the process is added it is ready to be executed.- Specified by:
submitProcess
in interfaceIInteractiveProcessManager
- Parameters:
process
- the process object.- Returns:
- the added process identifier.
- Throws:
PortalException
-
getProcess
public Process getProcess(String processId, String ownerId) throws PortalException
Description copied from interface:IInteractiveProcessManager
Returns the process of the given identifier.
The parameterprocessId
is required. It represents the identifier of the process that is requested to be obtained. When it is not provided (if it isnull
or empty) anIllegalArgumentException
is raised. If there's no process with the given identifier aPortalObjectNotFoundException
will be raised.
The parameterowner
may not benull
. It represents the identifier of the owner of the process. When it is not provided (if it isnull
or empty) anIllegalArgumentException
is raised.
If the requested process already has an owner and it is the same as the one provided, the process is returned.
If the requested process already has an owner and it is not the same as the one provided or if the process has no owner, aProcessNotOwnedException
is raised.- Specified by:
getProcess
in interfaceIInteractiveProcessManager
- Parameters:
processId
- the process identifier.ownerId
- the owner identifier.- Returns:
- the process.
- Throws:
PortalObjectNotFoundException
- if the requested process does not exists.ProcessNotOwnedException
- if the given process does not belong to the given owner or if the process has no owner.PortalException
- if other error occur.
-
takeOwnership
public String takeOwnership(String processId) throws PortalException
Description copied from interface:IInteractiveProcessManager
Takes the ownership of the process with the given identifier. This method will generate a new random string that will be the new owner of the given process. This method will store, also, the user of the currentsession
as being the user that owns the process.- Specified by:
takeOwnership
in interfaceIInteractiveProcessManager
- Parameters:
processId
- the process identifier.- Returns:
- a random string that is the new process owner.
- Throws:
PortalObjectNotFoundException
- if the given process does not exist.PortalException
- if some other error occur.
-
recover
public void recover(String processId) throws PortalException
Changes the process status to "Ready". This procedure may cause an instability on the Portal and the old owner will not be able to execute it anymore until calls theIInteractiveProcessManager.takeOwnership(String)
.- Parameters:
processId
- the process identifier.- Throws:
PortalException
- if any error occurs during the process.- Since:
- 7.1.0
-
-