Interface IInteractiveProcessManager

    • Method Detail

      • createProcess

        IProcess createProcess​(java.lang.String title,
                               java.util.List<Step> steps,
                               IProcessCallbackHandler callbackHandler)
                        throws PortalException
        Creates a portal interactive process with the given steps. 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.
        Parameters:
        title - The process title.
        steps - The steps that compose the process.
        callbackHandler - The callback handler for the created process. May be null.
        Returns:
        the recently created process' identifier.
        Throws:
        java.lang.IllegalArgumentException - if the title is null.
        java.lang.IllegalArgumentException - if the title is empty.
        java.lang.IllegalArgumentException - if the step list is null.
        java.lang.IllegalArgumentException - if the step list is empty.
        java.lang.IllegalArgumentException - if the step list has one or more steps without an executable.
        PortalException
        Since:
        7.1.0
      • submitProcess

        java.lang.String submitProcess​(IProcess process)
                                throws PortalException
        Submits a process created with #createProcess(String, List). After the process is added it is ready to be executed.
        Parameters:
        process - the process object.
        Returns:
        the added process identifier.
        Throws:
        PortalException
        Since:
        7.1.0
      • getProcess

        IProcess getProcess​(java.lang.String processId,
                            java.lang.String owner)
                     throws PortalException
        Returns the process of the given identifier.
        The parameter processId is required. It represents the identifier of the process that is requested to be obtained. When it is not provided (if it is null or empty) an IllegalArgumentException is raised. If there's no process with the given identifier a PortalObjectNotFoundException will be raised.
        The parameter owner may not be null. It represents the identifier of the owner of the process. When it is not provided (if it is null or empty) an IllegalArgumentException 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, a ProcessNotOwnedException is raised.

        Parameters:
        processId - the process identifier.
        owner - the owner identifier.
        Returns:
        the process.
        Throws:
        java.lang.IllegalArgumentException - if the parameter owner is null.
        java.lang.IllegalArgumentException - if the parameter processId is null.
        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.
        Since:
        7.1.0
      • takeOwnership

        java.lang.String takeOwnership​(java.lang.String processId)
                                throws PortalException
        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 current session as being the user that owns the process.
        Parameters:
        processId - the process identifier.
        Returns:
        a random string that is the new process owner.
        Throws:
        java.lang.IllegalArgumentException - if the processId is null or empty.
        PortalObjectNotFoundException - if the given process does not exist.
        java.lang.IllegalStateException - if there's no current user session.
        PortalException - if some other error occur.
        Since:
        7.1.0