Package wt.lifecycle

Class StandardLifeCycleService

java.lang.Object
wt.services.StandardManager
wt.lifecycle.StandardLifeCycleService
All Implemented Interfaces:
Serializable, wt.fc._NetFactor, NetFactor, LifeCycleService, wt.lifecycle.LifeCycleServiceSvr, wt.services.Manager

public class StandardLifeCycleService extends StandardManager implements LifeCycleService, wt.lifecycle.LifeCycleServiceSvr, Serializable
Standard implementation of the life cycle service interfaces

Use the newStandardLifeCycleService static factory method(s), not the StandardLifeCycleService constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: true

Extendable: false

See Also:
  • Method Details

    • submitForApproval

      public LifeCycleManaged submitForApproval(LifeCycleManaged object) throws WTException, LifeCycleException
      Submit the object for review.

      Supported API: true
      Specified by:
      submitForApproval in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be submitted for approval
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • vote

      Record a signer disposition (Yes/No) and any comments.

      Supported API: true
      Specified by:
      vote in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be voted on
      signature - the signature object where the vote results should be recorded
      Returns:
      LifeCycleSignature
      Throws:
      WTException
      LifeCycleException
    • promote

      Move the object to the next phase.

      The doPromote method is executed

      Supported API: true

      Specified by:
      promote in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be promoted
      signature - the Signature object where the results and information about the promote should be recorded
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • demote

      Move the object to the previous phase.

      The doDemote method is executed

      Supported API: true

      Specified by:
      demote in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be demoted.
      signature - the Signature object where the results and information about the demote should be recorded
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • deny

      Remove the object from the gate and return the object to the submitter

      Supported API: true
      Specified by:
      deny in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be denied
      signature - the Signature object that the result and information about the deny is recorded
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • drop

      Transition the object to an end state

      Supported API: true
      Specified by:
      drop in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be moved to a final/dropped state
      signature - the LifeCycleSignature object records information about the drop process
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • reassign

      Reassign a life cycle managed object to a new life cycle.

      Supported API: true
      Specified by:
      reassign in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be assigned to a new life cycle
      lctRef - a reference to a LifeCycleTemplate, the LifeCycleTemplate that the object should be reassigned to
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • getLifeCycleTemplate

      public LifeCycleTemplate getLifeCycleTemplate(LifeCycleManaged object) throws WTException, LifeCycleException
      Deprecated.
      in R4.0 - Use myObject.getLifeCycleTemplate() instead.
      Answer the LifeCycleTemplate the object is assigned to

      Supported API: true
      Specified by:
      getLifeCycleTemplate in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of the LifeCycleTemplate
      Returns:
      LifeCycleTemplate
      Throws:
      WTException
      LifeCycleException
    • getSignatures

      public Vector getSignatures(LifeCycleManaged object, WTUser user, Role role) throws WTException, LifeCycleException
      Answer a vector of LifeCycleSignature for the current phase based on object, user and role.

      Supported API: true
      Specified by:
      getSignatures in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of signature objects
      user - the WTUser object used as search criteria in the retrieval of Signature objects
      role - the Role object used as search criteria in the retrieval of the Signature objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getSignatures

      public Vector getSignatures(LifeCycleManaged object, Role role) throws WTException, LifeCycleException
      Answer a vector of LifeCycleSignature for the current phase based on object and role.

      Supported API: true
      Specified by:
      getSignatures in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of the Signature objects
      role - the Role object used as search criteria in the retrieval of Signature objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getSignatures

      public Vector getSignatures(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer a vector of signatures for all roles for the object for the current phase.

      Supported API: true
      Specified by:
      getSignatures in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of Signature objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getSignatures

      public Vector getSignatures(LifeCycleManaged object, WTUser user) throws WTException, LifeCycleException
      Answer a vector of LifeCycleSignatures based on supplied object & user.

      Supported API: true
      Specified by:
      getSignatures in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object used as search criteria in the retrieval of Signature objects
      user - the WTUser object used as search criteria in the retrieval of Signature objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getAllSignatures

      public Vector getAllSignatures(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer a vector of signatures for all roles for the object for the current phase and all preceeding phases.

      Supported API: true
      Specified by:
      getAllSignatures in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of Signature objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • createLifeCycleSignature

      public LifeCycleSignature createLifeCycleSignature(Persistable object, WTPrincipal signer, String comments, Role role, boolean vote) throws WTException
      Answer an initialized but unpersisted LifeCycleSignature instance

      Supported API: true
      Specified by:
      createLifeCycleSignature in interface LifeCycleService
      Parameters:
      object - the Persistable object that the LifeCycleSignature is associated to
      signer - the WTPrincipal who did the work
      comments - any comments the signer recorded about the work accomplished
      role - the Role object, used to represent the role the signer was participating as
      vote - a boolean signer designation, used to record the disposition
      Returns:
      LifeCycleSignature
      Throws:
      WTException
    • getReviewerList

      public Vector getReviewerList(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer a vector of LifeCycleSignatures

      Supported API: true
      Specified by:
      getReviewerList in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object used as search criteria in the retrieval of Signature objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getAllReviewerList

      public Vector getAllReviewerList(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer a vector of LifeCycleSignatures

      Supported API: true
      Specified by:
      getAllReviewerList in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object used as search criteria in the retrieval of Signature objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getRoles

      public Vector getRoles(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer a vector of strings - role names for the current phase

      Supported API: true
      Specified by:
      getRoles in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of Role objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getCriteria

      public Vector getCriteria(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer a vector of Criterion objects for the current phase

      Supported API: true
      Specified by:
      getCriteria in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of Criterion objects
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • saveLifeCycleTemplate

      public TransactionResult saveLifeCycleTemplate(TransactionContainer aTran) throws WTException, LifeCycleException
      Store or update a LifeCycleTemplate. This method accepts and processes a batch container of persistence assertions.

      Supported API: true
      Specified by:
      saveLifeCycleTemplate in interface LifeCycleService
      Parameters:
      aTran - a TransactionContainer that contains a set of LifeCycleTemplate, PhaseTemplate, AdHocAclSpec, Criterion and Transition assertions that need to be applied against one or more LifeCycleTemplate objects
      Returns:
      TransactionResult
      Throws:
      WTException
      LifeCycleException
    • getHistory

      public QueryResult getHistory(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer an enumeration of LifeCycleHistory objects based on supplied object.

      Usage:

      LifeCycleHistory aHistory = null; Enumeration e = LifeCycleHelper.service.getHistory(aLifeCycleManaged); while (e.hasMoreElements()) { aHistory = (LifeCycleHistory)e.nextElement(); // -- do stuff }

      Supported API: true

      Specified by:
      getHistory in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria for the retrieval of History information
      Returns:
      QueryResult
      Throws:
      WTException
      LifeCycleException
    • isA

      public boolean isA(LifeCycleManaged object, WTUser user, Role role) throws WTException, LifeCycleException
      Deprecated.
      at 8.0. A user no longer has to belong to a specific role in order to complete a lifecycle task
      Answer whether the designated user is validated for the designated role

      Supported API: true
      Specified by:
      isA in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object
      user - the designated user
      role - the designated role
      Returns:
      boolean
      Throws:
      WTException
      LifeCycleException
    • isInInitialPhase

      public boolean isInInitialPhase(LifeCycleManaged object) throws WTException
      Answer whether the LifeCycleManaged object is in the Initial phase

      Supported API: true
      Specified by:
      isInInitialPhase in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object
      Returns:
      boolean
      Throws:
      WTException
    • isInFinalPhase

      public boolean isInFinalPhase(LifeCycleManaged object) throws WTException
      Answers whether the LifeCycleManaged object is in the Final phase of its LifeCycle

      Supported API: true
      Specified by:
      isInFinalPhase in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object
      Returns:
      boolean
      Throws:
      WTException
    • getLifeCycleTemplate

      public LifeCycleTemplate getLifeCycleTemplate(String aTemplateName) throws LifeCycleException, WTException
      Given a String representation of the LifeCycleTemplate name, answer the enabled LifeCycleTemplate. If no template is found, return null/code>.

      Supported API: true
      Specified by:
      getLifeCycleTemplate in interface LifeCycleService
      Parameters:
      aTemplateName - the name of the LifeCycleTemplate to retrieve
      Returns:
      LifeCycleTemplate
      Throws:
      LifeCycleException
      WTException
    • validateSubmitForApproval

      public LifeCycleManaged validateSubmitForApproval(LifeCycleManaged object) throws WTException, LifeCycleException
      Perform pre-submit validations

      Supported API: true
      Specified by:
      validateSubmitForApproval in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object to be submitted
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • hasAugmentRoleAccess

      public boolean hasAugmentRoleAccess(Role role, LifeCycleManaged object) throws WTException, LifeCycleException
      Given a role and a LifeCycleManaged object, determines whether the current user has the permissions required to update the role participants

      Supported API: true
      Specified by:
      hasAugmentRoleAccess in interface LifeCycleService
      Parameters:
      role - The LifeCycleManaged object that the role/participant mapping is being added to
      object - the object whose team is being modified
      Returns:
      boolean
      Throws:
      WTException
      LifeCycleException
    • findCandidateTemplates

      public Vector findCandidateTemplates(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer a vector of enabled life cycle template references valid for the life cycle managed object findCandidateMasterReference is the preferable to use instead of this method. Using findCandidateMasterReference plus the 'getLifeCycleTemplate' method on that object will get the latest iteration at the last possible moment, eliminating some multi-user timing issues.

      Supported API: true
      Specified by:
      findCandidateTemplates in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of canidate LifeCycleTemplates
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • findCandidateTemplates

      public Vector findCandidateTemplates(Class targetClass) throws WTException, LifeCycleException
      Answer a vector of enabled life cycle template references valid for the class findCandidateMasterReference is the preferable to use instead of this method. Using findCandidateMasterReference plus the 'getLifeCycleTemplate' method on that object will get the latest iteration at the last possible moment, eliminating some multi-user timing issues.

      Supported API: true
      Specified by:
      findCandidateTemplates in interface LifeCycleService
      Parameters:
      targetClass - the class used as search criteria in the retrieval of canidate LifeCycleTemplates
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • findStates

      public Vector findStates(LifeCycleTemplate aLifeCycleTemplate) throws WTException, LifeCycleException
      Given a particular LifeCycleTemplate, answer a Vector of all the Life Cycle States used in that LifeCycle

      Supported API: true
      Specified by:
      findStates in interface LifeCycleService
      Parameters:
      aLifeCycleTemplate - the LifeCycleTemplate used to retrieve the appropriate states
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • isState

      public boolean isState(LifeCycleTemplate aLifeCycleTemplate, State aState) throws WTException, LifeCycleException
      Given a particular LifeCycleTemplate and a State, answer whether or not the State is used in the LifeCycle

      Supported API: true
      Specified by:
      isState in interface LifeCycleService
      Parameters:
      aLifeCycleTemplate - the LifeCycleTemplate used in the lookup
      aState - the State used in the lookup
      Returns:
      boolean
      Throws:
      WTException
      LifeCycleException
    • findPredecessorStates

      public Enumeration findPredecessorStates(LifeCycleManaged object) throws WTException, LifeCycleException
      Given a particular LifeCycleManged object, answer an enumeration of all the predecessor States

      Supported API: true
      Specified by:
      findPredecessorStates in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object of interest
      Returns:
      Enumeration
      Throws:
      WTException
      LifeCycleException
    • findSuccessorStates

      public Enumeration findSuccessorStates(LifeCycleManaged object) throws WTException, LifeCycleException
      Given a particular LifeCycleTemplate, answer an enumeration of all the Successor States

      Supported API: true
      Specified by:
      findSuccessorStates in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object of interest
      Returns:
      Enumeration
      Throws:
      WTException
      LifeCycleException
    • setEnabled

      public void setEnabled(LifeCycleTemplate aTemplate, boolean enable) throws WTException, LifeCycleException
      Enable/Disable the Life Cycle Template Master

      Supported API: true
      Specified by:
      setEnabled in interface LifeCycleService
      Parameters:
      aTemplate - the template to set the enabled flat on
      enable - specifies whether or not the template is enabled
      Throws:
      WTException
      LifeCycleException
    • setEnabled

      public void setEnabled(LifeCycleTemplateMaster aMaster, boolean enable) throws WTException, LifeCycleException
      Enable/Disable the Life Cycle Template Master

      Supported API: true
      Specified by:
      setEnabled in interface LifeCycleService
      Parameters:
      aMaster - the lifecycle template master to set the enabled flag on
      enable - sets the value of the enabled flag to true or false
      Throws:
      WTException
      LifeCycleException
    • findCandidateMasterReferences

      public Vector findCandidateMasterReferences(LifeCycleManaged object) throws WTException, LifeCycleException
      Answer a vector of life cycle template references valid for the life cycle managed object

      Supported API: true
      Specified by:
      findCandidateMasterReferences in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object used as search criteria in the retrieval of canidate LifeCycleTemplates
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • findCandidateMasterReferences

      public Vector findCandidateMasterReferences(Class targetClass) throws WTException, LifeCycleException
      Answer a vector of life cycle template references valid for the class

      Supported API: true
      Specified by:
      findCandidateMasterReferences in interface LifeCycleService
      Parameters:
      targetClass - the class used as search criteria in the retrieval of canidate LifeCycleTemplates
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getLifeCycleTemplateMaster

      public LifeCycleTemplateMaster getLifeCycleTemplateMaster(String aMasterName) throws LifeCycleException, WTException
      Given a String representation of the LifeCycleTemplateMaster name, answer the LifeCycleTemplateMasterReference

      Supported API: true
      Specified by:
      getLifeCycleTemplateMaster in interface LifeCycleService
      Parameters:
      aMasterName - the name of the LifeCycleTemplate to retrieve
      Returns:
      LifeCycleTemplateMaster
      Throws:
      LifeCycleException
      WTException
    • getLifeCycleTemplateReference

      public LifeCycleTemplateReference getLifeCycleTemplateReference(String aName) throws LifeCycleException, WTException
      Given a String representation of the LifeCycleTemplater name, find the latest iteration or working copy of the LifeCycleTemplate. Return a LifeCycleTemplateReference.

      Supported API: true
      Specified by:
      getLifeCycleTemplateReference in interface LifeCycleService
      Parameters:
      aName - the name of the LifeCycleTemplate to retrieve
      Returns:
      LifeCycleTemplateReference
      Throws:
      LifeCycleException
      WTException
    • setLifeCycleState

      public LifeCycleManaged setLifeCycleState(LifeCycleManaged object, State state, boolean terminAssocRunningProcesses) throws WTException, LifeCycleException
      Set the state of the Life Cycle Managed object and provide the option to terminate the associated workflows. If null is passed as the WfState, all processes are terminated. User need ADMINISTRATIVE or SET_STATE permission on LifeCycleManaged object to change state. NotAuthorizedException is thrown otherwise.

      Supported API: true
      Specified by:
      setLifeCycleState in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object whose state should be updated
      state - The state to set the LifeCycleManaged object to.
      terminAssocRunningProcesses - a flag that determines whether or not to terminate the wf processes associated with this phase that are OPEN_RUNNING
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • setLifeCycleState

      public LifeCycleManaged setLifeCycleState(LifeCycleManaged object, State state) throws WTException, LifeCycleException
      Set the state of the Life Cycle Managed object.

      Supported API: true
      Specified by:
      setLifeCycleState in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object whose state should be updated
      state - The state to set the LifeCycleManaged object to.
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • findAssociatedProcesses

      public Vector findAssociatedProcesses(LifeCycleManaged object, WfState state) throws WTException, LifeCycleException
      Given a Life Cycle Managed object, return the Workflow processes associated with the current phase. If null is specified as the Wf State, all processes are retrieved.

      Supported API: true
      Specified by:
      findAssociatedProcesses in interface LifeCycleService
      Parameters:
      object - the Life Cycle Managed object
      state - the Workflow state
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • copyTemplate

      public LifeCycleTemplate copyTemplate(LifeCycleTemplate lifeCycleTemplate, String copyName, String folderLocation) throws WTException, LifeCycleException
      Produces a copy of the LifeCycleTemplate object and persists it with the name passed as argument. If the name argument is "null", the name of the copied LifeCycleTemplate object is prefixed with 'copy of'. If the folder location is not specified, the object will be persisted in the orginal LifeCycleTemplates's folder location. Note: The 'Copy Of' prefix is pulled from a Resource Bundle for localization purposes.

      Supported API: true
      Specified by:
      copyTemplate in interface LifeCycleService
      Parameters:
      lifeCycleTemplate - the LifeCycleTemplate object that should be copied
      copyName - the name of the new LifeCycleTemplate
      folderLocation - the folder location of the new LifeCycleTemplate
      Returns:
      LifeCycleTemplate
      Throws:
      WTException
      LifeCycleException
    • findAllTemplates

      public Vector findAllTemplates() throws WTException, LifeCycleException
      Answer a vector of all life cycle templates. The latest iteration of each life cycle template will be returned. In this particular context, the definition of 'latest iteration' is either the current user's working copy, if one exists, or the latest iteration in the vault.

      Supported API: true
      Specified by:
      findAllTemplates in interface LifeCycleService
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getLatestIteration

      public LifeCycleTemplate getLatestIteration(LifeCycleTemplateMaster master) throws WTException, LifeCycleException
      Given a LifeCycleTemplateMaster, return the latest iteration (LifeCycleTemplate)

      Supported API: true
      Specified by:
      getLatestIteration in interface LifeCycleService
      Parameters:
      master - the lifecycle master of interest
      Returns:
      LifeCycleTemplate
      Throws:
      WTException
      LifeCycleException
    • getLatestIteration

      Given a LifeCycleTemplateMasterReference, return the latest iteration (LifeCycleTemplateReference)

      Supported API: true
      Specified by:
      getLatestIteration in interface LifeCycleService
      Parameters:
      master - the lifecycle template master of interest
      Returns:
      LifeCycleTemplateReference
      Throws:
      WTException
      LifeCycleException
    • getPhaseTemplates

      public Vector getPhaseTemplates(LifeCycleTemplate template) throws WTException, LifeCycleException
      Given a LifeCycleTemplate, return a vector of all the PhaseTemplate objects

      Supported API: true
      Specified by:
      getPhaseTemplates in interface LifeCycleService
      Parameters:
      template - the lifecycle template to retrieve the phase templates for
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getCurrentWorkflow

      public ObjectReference getCurrentWorkflow(LifeCycleManaged object) throws WTException, LifeCycleException
      Given a LifeCycleManaged object, return a reference to the current WfProcess. If the LifeCycleManaged object is in the phase, the Phase WF is returned. If the LifeCycleManaged object is at the gate, the Gate WF is returned. If there is no workflow, a null is returned.

      Supported API: true
      Specified by:
      getCurrentWorkflow in interface LifeCycleService
      Parameters:
      object - the object whoose current workflow should be returned
      Returns:
      ObjectReference
      Throws:
      WTException
      LifeCycleException
    • augmentRoles

      public Phase augmentRoles(LifeCycleManaged object) throws WTException, LifeCycleException
      Given a LifeCycleManaged object, the current State of the Object and the RoleHolder (the phase object), change the role participants to reflect those in the RoleHolder2

      Supported API: true
      Specified by:
      augmentRoles in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object that the role/participant mapping is being added to
      Returns:
      Phase
      Throws:
      WTException
      LifeCycleException
    • getSuccessorState

      public State getSuccessorState(LifeCycleManaged lcmObject) throws WTException, LifeCycleException
      This operation determines the current state of the object and returns the successor state for the object. That is, the state the object will be in when promoted.

      Supported API: true
      Specified by:
      getSuccessorState in interface LifeCycleService
      Parameters:
      lcmObject - The Life Cycle Managed object used to get the next state.
      Returns:
      State
      Throws:
      WTException
      LifeCycleException
    • getPredecessorState

      public State getPredecessorState(LifeCycleManaged lcmObject) throws WTException, LifeCycleException
      This operation determines the current state of the object and returns the predecessor state for the object. That is, the state the object will be in when demoted

      Supported API: true
      Specified by:
      getPredecessorState in interface LifeCycleService
      Parameters:
      lcmObject - The Life Cycle Managed object used to get the next state.
      Returns:
      State
      Throws:
      WTException
      LifeCycleException
    • augmentRoles

      public void augmentRoles(Team team) throws WTException, LifeCycleException
      Given a team, rebuild all the ad hoc acls for objects associated with the team.

      Supported API: true
      Specified by:
      augmentRoles in interface LifeCycleService
      Parameters:
      team - The team being updated.
      Throws:
      WTException
      LifeCycleException
    • getLifeCycleTemplate

      public LifeCycleTemplate getLifeCycleTemplate(String aTemplateName, WTContainerRef context) throws LifeCycleException, WTException
      Given a String representation of the LifeCycleTemplate name and a WTContainerRef, answer the LifeCycleTemplate. If no template is found, return null/code>.

      Supported API: true
      Specified by:
      getLifeCycleTemplate in interface LifeCycleService
      Parameters:
      aTemplateName - the name of the LifeCycleTemplate to retrieve
      context - the container to search for the lifecycle template
      Returns:
      LifeCycleTemplate
      Throws:
      LifeCycleException
      WTException
    • getLifeCycleTemplateReference

      public LifeCycleTemplateReference getLifeCycleTemplateReference(String aName, WTContainerRef context) throws LifeCycleException, WTException
      Given a String representation of the LifeCycleTemplater name and a WTContainerRef, find the latest iteration or working copy of the LifeCycleTemplate. Return a LifeCycleTemplateReference.

      Supported API: true
      Specified by:
      getLifeCycleTemplateReference in interface LifeCycleService
      Parameters:
      aName - the name of the LifeCycleTemplate to retrieve
      context - the container to search for the lifecycle template master
      Returns:
      LifeCycleTemplateReference
      Throws:
      LifeCycleException
      WTException
    • findAllTemplates

      public Vector findAllTemplates(WTContainerRef context) throws WTException, LifeCycleException
      Answer a vector of all life cycle templates for the WTContainerRef passed. The latest iteration of each life cycle template will be returned. In this particular context, the definition of 'latest iteration' is either the current user's working copy, if one exists, or the latest iteration in the vault.

      Supported API: true
      Specified by:
      findAllTemplates in interface LifeCycleService
      Parameters:
      context - the container to search for lifecycle templates
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • getLifeCycleTemplateMaster

      public LifeCycleTemplateMaster getLifeCycleTemplateMaster(String aMasterName, WTContainerRef context) throws LifeCycleException, WTException
      Given a String representation of the LifeCycleTemplateMaster name and a WTContainerRef, answer the LifeCycleTemplateMasterReference

      Supported API: true
      Specified by:
      getLifeCycleTemplateMaster in interface LifeCycleService
      Parameters:
      aMasterName - the name of the LifeCycleTemplate to retrieve
      context - the container to search for the lifecycle template master
      Returns:
      LifeCycleTemplateMaster
      Throws:
      LifeCycleException
      WTException
    • reassign

      Reassign a life cycle managed object to a new life cycle in a certain WTContainerRef.

      Supported API: true
      Specified by:
      reassign in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be assigned to a new life cycle
      lctRef - a reference to a LifeCycleTemplate, the LifeCycleTemplate that the object should be reassigned to
      context - the container where the objects associated workflow processes will be created
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • saveLifeCycleTemplate

      public TransactionResult saveLifeCycleTemplate(TransactionContainer aTran, WTContainerRef context) throws WTException, LifeCycleException
      Store or update a LifeCycleTemplate. This method accepts and processes a batch container of persistence assertions. If a WTContainerRef is passed, and it is different that that of this templates master; then a new master is created in the passed WTContainer, and this template becomes the first iteration.

      Supported API: true
      Specified by:
      saveLifeCycleTemplate in interface LifeCycleService
      Parameters:
      aTran - a TransactionContainer that contains a set of LifeCycleTemplate, PhaseTemplate, AdHocAclSpec, Criterion and Transition assertions that need to be applied against one or more LifeCycleTemplate objects
      context - the container the lifecycle template is being saved in
      Returns:
      TransactionResult
      Throws:
      WTException
      LifeCycleException
    • findCandidateMasterReferences

      public Vector findCandidateMasterReferences(Class targetClass, WTContainerRef context) throws WTException, LifeCycleException
      Answer a vector of life cycle template references valid for the target class in the container.

      Supported API: true
      Specified by:
      findCandidateMasterReferences in interface LifeCycleService
      Parameters:
      targetClass - the class used as search criteria in the retrieval of canidate LifeCycleTemplates
      context - the container to search for lifecycle template masters
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • findAllTemplateMasters

      public QueryResult findAllTemplateMasters(WTContainerRef context) throws WTException, LifeCycleException
      Answer a vector of all life cycle template masters for the WTContainerRef passed. The latest iteration of each life cycle template will be returned. In this particular context, the definition of 'latest iteration' is either the current user's working copy, if one exists, or the latest iteration in the vault.

      Supported API: true
      Specified by:
      findAllTemplateMasters in interface LifeCycleService
      Parameters:
      context - the container to search for lifecycle templates
      Returns:
      QueryResult
      Throws:
      WTException
      LifeCycleException
    • setRouting

      public void setRouting(LifeCycleTemplate aTemplate, boolean routing) throws WTException, LifeCycleException
      Set/reset the rouing attribute on the Life Cycle Template Master. This attribute denotes whether or not the template master can be used to route other objects

      Supported API: true
      Specified by:
      setRouting in interface LifeCycleService
      Parameters:
      aTemplate - the template to set the routing statis on
      routing - sets the routing flag to true or false
      Throws:
      WTException
      LifeCycleException
    • setRouting

      public void setRouting(LifeCycleTemplateMaster aMaster, boolean routing) throws WTException, LifeCycleException
      Set/reset the routing attribute of the Life Cycle Template Master. This attribute denotes whether or not the template master can be used to route other objects

      Supported API: true
      Specified by:
      setRouting in interface LifeCycleService
      Parameters:
      aMaster - the lifecycle template master to set the routing status on
      routing - sets the routing flag to true or false
      Throws:
      WTException
      LifeCycleException
    • findRoutingTemplates

      public Vector findRoutingTemplates(WTContainerRef context) throws WTException, LifeCycleException
      Return an Enumeration of all lifecycle templates for the WTContainerRef passed. The latest iteration of each life cycle template will be returned. In this particular context, the definition of 'latest iteration' is either the current user's working copy, if one exists, or the latest iteration in the vault.

      Supported API: true
      Specified by:
      findRoutingTemplates in interface LifeCycleService
      Parameters:
      context - the container to search for lifecycle templates
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • findAllTemplates

      public Vector findAllTemplates(WTContainerRef context, boolean routingOnly, boolean keepFiltered) throws WTException, LifeCycleException
      Answer a vector of all life cycle templates for the WTContainerRef passed. If routingOnly is true, returns only those templates whose routing attribute is true. If keepFiltered is true, returns templates that have been hidden in the container context, otherwise only those templates that are visible in the container context are returned. The latest iteration of each life cycle template will be returned. In this particular context, the definition of 'latest iteration' is either the current user's working copy, if one exists, or the latest iteration in the vault.

      Supported API: true
      Specified by:
      findAllTemplates in interface LifeCycleService
      Parameters:
      context - the container to search for lifecycle templates
      routingOnly - specifies whether only the lifecycle templates marked as routing should be returned or it all enabled lifecycle templates should be returned
      keepFiltered - Indicates whether or not filtered templates are to be returned. If true, return all templates, otherwise return only those templates that are visible in the container context.
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • findAllTemplates

      public Vector findAllTemplates(WTContainerRef context, boolean routingOnly) throws WTException, LifeCycleException
      Answer a vector of all life cycle templates for the WTContainerRef passed. If routingOnly is true, returns only those templates whose routing attribute is true. The latest iteration of each life cycle template will be returned. In this particular context, the definition of 'latest iteration' is either the current user's working copy, if one exists, or the latest iteration in the vault. This API will call findAllTemplates(WTContainerRef context, boolean routingOnly, boolean keepFiltered) with a value of false for the keepFiltered argument.

      Supported API: true
      Specified by:
      findAllTemplates in interface LifeCycleService
      Parameters:
      context - the container to search for lifecycle templates
      routingOnly - specifies whether only the lifecycle templates marked as routing should be returned or it all enabled lifecycle templates should be returned
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • copyTemplate

      public LifeCycleTemplate copyTemplate(LifeCycleTemplate lifeCycleTemplate, String copyName, String folderLocation, WTContainerRef context) throws LifeCycleException, WTException
      Produces a copy of the LifeCycleTemplate object and persists it with the name passed as argument. If the name argument is "null", the name of the copied LifeCycleTemplate object is prefixed with 'copy of'. If the folder location is not specified, the object will be persisted in the orginal LifeCycleTemplates's folder location. If the context is null, the current container will be used. Note: The 'Copy Of' prefix is pulled from a Resource Bundle for localization purposes.

      Supported API: true
      Specified by:
      copyTemplate in interface LifeCycleService
      Parameters:
      lifeCycleTemplate - the LifeCycleTemplate object that should be copied
      copyName - the name of the new LifeCycleTemplate
      folderLocation - the folder location of the new LifeCycleTemplate
      context - the container where the copy should be stored
      Returns:
      LifeCycleTemplate
      Throws:
      WTException
      LifeCycleException
    • reassign

      public WTList reassign(WTList list, LifeCycleTemplateReference lctRef, WTContainerRef context, boolean preserveState) throws WTException, LifeCycleException
      Reassign all objects in a WTList to a lifecycle.

      Supported API: true
      Specified by:
      reassign in interface LifeCycleService
      Parameters:
      list - the WtList of LifeCycleManaged objects that should be assigned to a new life cycle
      lctRef - a reference to a LifeCycleTemplate, the LifeCycleTemplate that the object should be reassigned to
      context - The container the object resides in. This may be null.
      preserveState - If this is set to true, the existing state of objects will be preserved if the state is contained in the lifecycle template. Otherwise, the object will be set to the initial state of the lifecycle.
      Returns:
      WTList
      Throws:
      WTException
      LifeCycleException
    • reassign

      public WTList reassign(WTList list, LifeCycleTemplateReference lctRef, WTContainerRef context, State state) throws WTException, LifeCycleException
      Reassign the life cycle managed objects in a WTList to a new life cycle in a certain WTContainerRef.

      Supported API: true
      Specified by:
      reassign in interface LifeCycleService
      Parameters:
      list - the WTList of LifeCycleManaged objects that should be assigned to a new life cycle
      lctRef - a reference to a LifeCycleTemplate, the LifeCycleTemplate that the object should be reassigned to
      context - The container which the object resides in.
      state - The state the objects in the lifecycle should be assigned when reassigned to the lifecycle.
      Returns:
      WTList
      Throws:
      WTException
      LifeCycleException
    • setLifeCycleState

      public WTList setLifeCycleState(WTList list, State state, boolean terminAssocRunningProcesses) throws WTException, LifeCycleException
      Set the state of the Life Cycle Managed objects and provide the option to terminate the associated workflows. If null is passed as the WfState, all processes are terminated.

      Supported API: true
      Specified by:
      setLifeCycleState in interface LifeCycleService
      Parameters:
      list - The LifeCycleManaged objects whose state should be updated
      state - The state to set the LifeCycleManaged object to.
      terminAssocRunningProcesses - a flag that determines whether or not to terminate the wf processes associated with this phase that are OPEN_RUNNING
      Returns:
      WTList
      Throws:
      WTException
      LifeCycleException
    • findSetStateCandidates

      public WTKeyedMap findSetStateCandidates(WTCollection lcms) throws WTException
      Determines the allowable states the session principal can set the objects in the collection to. The return type is a map with the lifecycle managed objects assigned as keys and the value is a HashSet containing the allowable states the user can assign to the object.

      Supported API: true
      Specified by:
      findSetStateCandidates in interface LifeCycleService
      Parameters:
      lcms - a collection of lifecycle managed objects
      Returns:
      WTKeyedMap
      Throws:
      WTException
    • setLifeCycleState

      public LifeCycleManaged setLifeCycleState(LifeCycleManaged object, State state, boolean terminAssocRunningProcesses, Timestamp timestamp) throws WTException, LifeCycleException
      Set the state of the Life Cycle Managed object. User need ADMINISTRATIVE or SET_STATE permission on LifeCycleManaged object to change state. NotAuthorizedException is thrown otherwise.

      Supported API: true
      Specified by:
      setLifeCycleState in interface LifeCycleService
      Parameters:
      object - The LifeCycleManaged object whose state should be updated
      state - The state to set the LifeCycleManaged object to.
      terminAssocRunningProcesses - a flag that determines whether or not to terminate the wf processes associated with this phase that are OPEN_RUNNING
      timestamp - An optional parameter that allows specification of the created and modified timestamps for the history objects.
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • getSeriesSelectors

      public WTKeyedMap getSeriesSelectors(WTSet lcms) throws WTException
      Given a WTSet of objects, returns a WTKeyedMap whose keys are those elements of the argument set that are LifeCycleManaged and whose values are the keys' corresponding SeriesRangeSelector values for their current states, if applicable. If a key's current state does not have a SeriesRangeSelector, it is mapped to null.

      Supported API: true
      Specified by:
      getSeriesSelectors in interface LifeCycleService
      Parameters:
      lcms - set of objects. Those that are not wt.lifecycle.LifeCycleManaged are ignored (and are excluded from the result).
      Returns:
      WTKeyedMap
      Throws:
      WTException
    • saveLifeCycleTemplate

      public TransactionResult saveLifeCycleTemplate(TransactionContainer aTran, WTContainerRef context, boolean bypassDefaultTransitions) throws WTException, LifeCycleException
      Store or update a LifeCycleTemplate. This method accepts and processes a batch container of persistence assertions. If a WTContainerRef is passed, and it is different that that of this templates master; then a new master is created in the passed WTContainer, and this template becomes the first iteration.

      Supported API: true
      Specified by:
      saveLifeCycleTemplate in interface LifeCycleService
      Parameters:
      aTran - a TransactionContainer that contains a set of LifeCycleTemplate, PhaseTemplate, AdHocAclSpec, Criterion and Transition assertions and transitions that need to be applied against one or more LifeCycleTemplate objects
      context - the container the template is being saved in
      bypassDefaultTransitions - specifies whether or not the default transitions should be created. if set to true, the transitions must be specified in the transaction container
      Returns:
      TransactionResult
      Throws:
      WTException
      LifeCycleException
    • setLifeCycleState

      public WTList setLifeCycleState(WTList list, Map stateMap, WTList terminateList) throws WTException, LifeCycleException
      Set the state of the Life Cycle Managed objects in the WTList list. Set state values are in the Map stateMap where the key is the LCMO in list and the value is a State. Also this method will terminate any workflow processes accociated in WTList terminateList.

      Supported API: true
      Specified by:
      setLifeCycleState in interface LifeCycleService
      Parameters:
      list - The LifeCycleManaged objects whose state should be updated
      stateMap - The state to set the LifeCycleManaged object to. Key=LCMO, value State
      terminateList - The LifeCycleManaged objects whose workflow processes should be terminated.
      Returns:
      WTList
      Throws:
      WTException
      LifeCycleException
    • findCandidateTemplates

      public Vector findCandidateTemplates(Class targetClass, WTContainerRef containerRef) throws WTException, LifeCycleException
      Answer a vector of enabled life cycle template references valid for the life cycle managed object and container context.

      Supported API: true
      Specified by:
      findCandidateTemplates in interface LifeCycleService
      Parameters:
      targetClass - the LifeCycleManaged class used as search criteria in the retrieval of canidate LifeCycleTemplates
      containerRef -
      Returns:
      Vector
      Throws:
      WTException
      LifeCycleException
    • reassign

      Reassign a life cycle managed object to a new life cycle in a certain WTContainerRef.

      Supported API: true
      Specified by:
      reassign in interface LifeCycleService
      Parameters:
      object - the LifeCycleManaged object that should be assigned to a new life cycle
      lctRef - a reference to a LifeCycleTemplate, the LifeCycleTemplate that the object should be reassigned to
      context - the container where the objects associated workflow processes will be created
      comments - Notes or comments for the lifecycle operation. Can be null.
      Returns:
      LifeCycleManaged
      Throws:
      WTException
      LifeCycleException
    • reassign

      public WTList reassign(WTList list, LifeCycleTemplateReference lctRef, WTContainerRef context, State state, String comments) throws WTException, LifeCycleException
      Reassign the life cycle managed objects in a WTList to a new life cycle in a certain WTContainerRef.

      Supported API: true
      Specified by:
      reassign in interface LifeCycleService
      Parameters:
      list - the WTList of LifeCycleManaged objects that should be assigned to a new life cycle
      lctRef - a reference to a LifeCycleTemplate, the LifeCycleTemplate that the object should be reassigned to
      context - The container which the object resides in.
      state - The state the objects in the lifecycle should be assigned when reassigned to the lifecycle.
      comments - Notes or comments for lifecycle operation. Can be null.
      Returns:
      WTList
      Throws:
      WTException
      LifeCycleException
    • reassign

      public WTList reassign(WTList list, LifeCycleTemplateReference lctRef, WTContainerRef context, boolean preserveState, String comments) throws WTException, LifeCycleException
      Reassign all objects in a WTList to a lifecycle.

      Supported API: true
      Specified by:
      reassign in interface LifeCycleService
      Parameters:
      list - the WtList of LifeCycleManaged objects that should be assigned to a new life cycle
      lctRef - a reference to a LifeCycleTemplate, the LifeCycleTemplate that the object should be reassigned to
      context - The container the object resides in. This may be null.
      preserveState - If this is set to true, the existing state of objects will be preserved if the state is contained in the lifecycle template. Otherwise, the object will be set to the initial state of the lifecycle.
      comments - Notes or comments for lifecycle operation. Can be null.
      Returns:
      WTList
      Throws:
      WTException
      LifeCycleException
    • getLifecycleVotingHistory

      public Vector getLifecycleVotingHistory(String objRef) throws WTException
      Answer a vector of signatures for all roles for the object for the passed lifecycle history object

      Supported API: true
      Specified by:
      getLifecycleVotingHistory in interface LifeCycleService
      Parameters:
      object - the LifeCycleHistory object used as search criteria in the retrieval of Signature objects
      Returns:
      Vector
      Throws:
      WTException
    • findReviseTransistion

      public Map findReviseTransistion(WTKeyedMap c) throws WTException, LifeCycleException
      Navigates the PhaseTemplate->PhaseSuccession using param transition. Returns a WTKeyedMap where the keys are the keys passed in param c and the values State object

      Supported API: true
      Specified by:
      findReviseTransistion in interface LifeCycleService
      Parameters:
      c - A WTKeyedMap that contains as its keys LifecycleManagedObject
      Returns:
      Map key is lifecycle managed object and value is State object. If not bound the state then value becomes null
      Throws:
      WTException
      LifeCycleException