com.ibm.itim.apps.workflow
Class WorkflowAssignmentMO

java.lang.Object
  |
  +--com.ibm.itim.apps.workflow.WorkflowAssignmentMO

public class WorkflowAssignmentMO
extends java.lang.Object

This provides management capabilities for an assignment, or work item.


Constructor Summary
WorkflowAssignmentMO(PlatformContext platform, javax.security.auth.Subject subject, long id)
          Constructs the the managed object with a platform context, a subject, and the managed object representing the workflow assignment.
 
Method Summary
 void complete()
          Signals completion of the assignment to the workflow engine.
 void complete(ActivityResult result)
          Signals completion of the activity to the workflow engine and provides the engine with the activity result in the same call.
 void defer(int deferralTime, java.lang.String deferralReason)
          Defers the assignment for the specified number of days In ITIM 4.6, the only item that can be deferred is compliance alert manual activity
 void delegate(PersonMO newOwner)
          Delegates/forwards the assignment to another participant.
 WorkflowActivityMO getActivity()
          Returns the activity that generated this assignment.
 Assignment getData()
          Returns details about this assignment.
 long getID()
          Returns the identifier of the assignment.
 java.util.List getInputParameters()
          Returns the parameter list of the assignment.
 java.util.Collection getPotentialOwners()
          Returns the list of potential owners of the activity.
 java.util.Collection getPotentialOwners(boolean onlyExistingPotentialOwners)
          Returns the existing list of potential owners of the activity.
 void lock()
          Locks the assignment so that other participants do not duplicate the effort to complete it unless the lock is released.
 void unlock()
          Unlocks the assignment so that other participants may themselves lock or or complete it.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorkflowAssignmentMO

public WorkflowAssignmentMO(PlatformContext platform,
                            javax.security.auth.Subject subject,
                            long id)
Constructs the the managed object with a platform context, a subject, and the managed object representing the workflow assignment.

Parameters:
platform - PlatformContext holding platform connection information.
subject - Subject representing the authenticated caller.
id - long representing the id of the assignment.
Method Detail

getID

public long getID()
Returns the identifier of the assignment.

Returns:
Id of the assignment.

getActivity

public WorkflowActivityMO getActivity()
                               throws java.rmi.RemoteException,
                                      ApplicationException
Returns the activity that generated this assignment.

Returns:
WorkflowActivityMO that generated the assignment.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve the activity.

complete

public void complete()
              throws java.rmi.RemoteException,
                     AuthorizationException,
                     ApplicationException
Signals completion of the assignment to the workflow engine. This is called when the client request to complete the pending assignment with a ActivityResult.STATUS_COMPLETE completion status and (@link ActivityResult#SUCCESS} summary result.

Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to complete the assignment.
ApplicationException - Thrown if an error occured trying to process the completion.

complete

public void complete(ActivityResult result)
              throws java.rmi.RemoteException,
                     AuthorizationException,
                     ApplicationException
Signals completion of the activity to the workflow engine and provides the engine with the activity result in the same call. This is called when the client request to complete the pending assignment.

Parameters:
result - ActivityResult holding the result of the activity.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to complete the activity.
ApplicationException - Thrown if an error occured trying to process the completion.

getData

public Assignment getData()
                   throws java.rmi.RemoteException,
                          ApplicationException
Returns details about this assignment.

Returns:
Assignment associated with the managed object.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve the assignment.

getInputParameters

public java.util.List getInputParameters()
                                  throws java.rmi.RemoteException,
                                         ApplicationException
Returns the parameter list of the assignment. This is the same parameter list of the activity that generated the assignment.

Returns:
List of RelevantDataItem representing the input parameters. The order is important as there are no names provided for the parameters, just the values.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve the assignment's input parameters.

delegate

public void delegate(PersonMO newOwner)
              throws java.rmi.RemoteException,
                     AuthorizationException,
                     ApplicationException
Delegates/forwards the assignment to another participant. Delegating/forwarding the assignment places a lock on the assignment owned by the other participant. The participant delegated/forwarded must be potential owner of the assignment. A potential owner is someone who has already been assigned because they are a participant of the activity, but who has not locked the assignment. Note: System Administrator has the authority to delegate the assignment to another potential owner even though he is not a member of the potential owner group.

Parameters:
newOwner - PersonMO representing the new owner of the assignment.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client delgating is not a member of the potential owner list or if the delegate is not a member of the potential owner list. Potential owners are defined during the design time of the activity.
ApplicationException - Thrown if unable to delegate the assignment.

lock

public void lock()
          throws java.rmi.RemoteException,
                 AuthorizationException,
                 ApplicationException
Locks the assignment so that other participants do not duplicate the effort to complete it unless the lock is released.

Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is not a member of of the potential owner list. The potential owners are defined during the design time of the activity.
ApplicationException - Thrown if unable to lock the assignment.

getPotentialOwners

public java.util.Collection getPotentialOwners()
                                        throws java.rmi.RemoteException,
                                               ApplicationException
Returns the list of potential owners of the activity. A potential owner is a person who was originally assigned the activity and is a candidate for locking, unlocking or delegating the assignment.

Returns:
Collection of PersonMO.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve potential owners due to application error.

getPotentialOwners

public java.util.Collection getPotentialOwners(boolean onlyExistingPotentialOwners)
                                        throws java.rmi.RemoteException,
                                               ApplicationException
Returns the existing list of potential owners of the activity. A potential owner is a person who was originally assigned the activity and is a candidate for locking, unlocking or delegating the assignment.

Parameters:
onlyExistingPotentialOwners - A flag to indicate that only existing potential owner(s) should be returned, when its value is 'true'. If 'false' then an ApplicationException is thrown if a potential owner is not present.
Returns:
Collection of PersonMO.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve potential owners due to application error.

unlock

public void unlock()
            throws java.rmi.RemoteException,
                   AuthorizationException,
                   ApplicationException
Unlocks the assignment so that other participants may themselves lock or or complete it. Note: System Administrator has the authority to unlock the assignment even though he is not a memeber of the potential owner list.

Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is not a member of the potential owner list to unlock the assignment. Potential owners are defined during the design time of the activity.
ApplicationException - Thrown if unable to unlock the assignment. This may be due to the assignment being completed already.

defer

public void defer(int deferralTime,
                  java.lang.String deferralReason)
           throws java.rmi.RemoteException,
                  AuthorizationException,
                  ApplicationException
Defers the assignment for the specified number of days In ITIM 4.6, the only item that can be deferred is compliance alert manual activity

Parameters:
deferralTime - the number of days to defer this assignment. If deferralDays is more than the limit set for the activity (which is maximum deferral days - already deferred days), it will be deferred for the number of days defined in the activity as the maximum deferral limit. If deferralDays would push the due date beyond the maximum deferral limit, the workitem will be deferred until the last possible due date (initial creation time of activity + maximum deferral limit of activity)
deferralReason - the explanation of why this assignment was deferred (to be audited)
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to defer the assignment.
ApplicationException - Thrown if unable to defer the assignment.
Since:
ITIM 4.6


IBM Tivoli Identity Manager 4.6
© Copyright International Business Machines Corporation 2005. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.