Interface IUserMetadataService
The UserMetadataService provides methods for querying and updating workflow metadata specific to users or groups. It is used for dealing with workflow assignment rules, user views, user preferences and vacation information.
An instance of IUserMetadataService can be created by calling
IWorkflowServiceClient.getUserMetadataService()
.
An instance of IWorkflowServiceClient
can be created using the WorkflowServiceClientFactory
.
All the UserMetadataService methods take IWorkflowContext
as their first parameter.
The IWorkflowContext object allows the UserMetdataService to validate that the method
is being called by an authenticated user, and that the user has the necessary authority
to perform the action being requested. The IWorkflowContext object also contains information
on the user's timezone and locale. An IWorkflowContext object can be obtained by calling
ITaskQueryService.authenticate(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
or ITaskQueryService.createContext(javax.servlet.http.HttpServletRequest)
.
For most methods, users can only query and update their own metadata - they are not permitted to access metadata belonging to other users. In the case of metadata for groups (specifically for workflow rules), only users who are registered as the owner of that group can access the metadata. However, users with administrator privileges can usually access any user or group's metadata.
Many of the parameters and return types of the methods are JAXB model objects from the packages
oracle.bpel.services.workflow.user.model,
oracle.bpel.services.workflow.query.model, and oracle.bpel.services.workflow.common.model.
These objects do not have public constructors. To create
new instances of these objects you should use the appropriate methods on
oracle.bpel.services.workflow.user.model.ObjectFactory
,
oracle.bpel.services.workflow.query.model.ObjectFactory
or oracle.bpel.services.workflow.common.model.ObjectFactory
Many of the methods in this API use Participant
objects to specify a
user or group. A Participant
object contains parameters that specify
the user or group name, the realm (identity context) of the user, and whether
the Participant is a user or group.
- Since:
- 10.1.3.1
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enum
Enumeration specifying the different types of presentation that can be defined.static enum
Enumeration specifying the different grant types that can be used when granting another user access to a UserTaskView.static enum
Enumeration specifying the different types of view that can be defined. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Rule action: Delegate task to specified user or groupstatic final String
Rule action: Dynamically reasign task using dynamic assignment funtion to select userstatic final String
Rule action: No operationstatic final String
Rule action: Reassign task to specified user or groupstatic final String
Rule action: Set task outcome to specified valuestatic final String
Rule condition operator: Date occured afterstatic final String
Rule condition operator: Date occured beforestatic final String
Rule condition operator: String begins with valuestatic final String
Rule condition operator: String contains valuestatic final String
Rule condition operator: String ends with valuestatic final String
Rule condition operator: equal to "=="static final String
Rule condition operator: greater than ">"static final String
Rule condition operator: greater than or equal to ">="static final String
Rule condition operator: String values in liststatic final String
Rule condition operator: less than "<"static final String
Rule condition operator: less than or equal to "<="static final String
Rule condition operator: not equal to "!="static final String
Rule condition operator: String does not begin with valuestatic final String
Rule condition operator: String does not contain valuestatic final String
Rule condition operator: String does not end with valuestatic final String[]
Array of valid operators for rule conditions on Date valuesstatic final String[]
Array of valid operators for rule conditions on number valuesstatic final String[]
Array of valid operators for rule conditions on String values -
Method Summary
Modifier and TypeMethodDescriptioncreatePresentation
(IWorkflowContext ctx, PresentationType presentation) FOR FUTURE USE ONLY.createRule
(IWorkflowContext ctx, RuleDetail rule) Creates a new rule from aRuleDetail
object.createUserApplicationData
(IWorkflowContext ctx, UserApplicationDataType applicationData) FOR FUTURE USE ONLY.createUserTaskView
(IWorkflowContext ctx, UserViewDetail view) Creates a new view from the specifiedUserViewDetail
object.void
decreaseRulePriority
(IWorkflowContext ctx, String ruleId) Decreases the priority of the specified rule by 1.void
deleteAnyUserTaskView
(IWorkflowContext ctx, String viewId) Deletes an existing view identifies by its viewId.void
deletePresentation
(IWorkflowContext ctx, String presentationId) FOR FUTURE USE ONLY.void
deleteRule
(IWorkflowContext ctx, String ruleId) Deletes an existing workflow rule, based on its ruleId.void
deleteUserApplicationData
(IWorkflowContext ctx, String applicationDataId) FOR FUTURE USE ONLY.void
deleteUserTaskView
(IWorkflowContext ctx, String viewId) Deletes an existing view identifies by its viewId.getGrantedTaskViewList
(IWorkflowContext ctx, Participant user) Gets the list of task views that have been granted to the specified user by other users.getPresentation
(IWorkflowContext ctx, String presentationId) FOR FUTURE USE ONLY.getPublicPreferences
(IWorkflowContext ctx, Participant user) Gets 'public' preferences for specified user.getRuleDetail
(IWorkflowContext ctx, String ruleId) Returns the full details for a particular rule, identified by its ruleId.getRuleList
(IWorkflowContext ctx, Participant user) Returns a list of rules for the specified user or group, as aRuleList
object.getRuleSetInfo
(IWorkflowContext ctx, Participant user) Deprecated.Rules persistence is no longer configurable, and rules are now persisted internally in the workflow database schema, so this method is now of limited use.getStandardTaskViewDetails
(IWorkflowContext ctx, String viewId) Gets the full details for a particular standard view, identified by its viewId.Gets the list of standard task views which ship with the product, and are available to all users.getUserApplicationData
(IWorkflowContext ctx, String applicationDataId) FOR FUTURE USE ONLY.getUserInboxView
(IWorkflowContext ctx, Participant user) Deprecated.getUserPreferences
(IWorkflowContext ctx, Participant user) Gets the user preferences for the specified user as aUserPreferences
object.getUserTaskViewDetails
(IWorkflowContext ctx, String viewId) Gets the full details for a particular user view, identified by its viewId.getUserTaskViewList
(IWorkflowContext ctx, Participant user) Gets the list of task views belonging to the specified user.getUserViewList
(IWorkflowContext ctx, Participant user) Gets the list of task views belonging to the specified user.getVacationInfo
(IWorkflowContext ctx, Participant user) Gets the current vacation information for the specified user in the form of aVacationInfo
object.void
increaseRulePriority
(IWorkflowContext ctx, String ruleId) Increases the priority of the specified rule by 1.listGrantedPresentations
(IWorkflowContext ctx, IUserMetadataService.PresentationDataType presentationType, PrincipleRefType grantee, boolean directOnly) FOR FUTURE USE ONLY.listGrantedUserApplicationData
(IWorkflowContext ctx, String dataType, PrincipleRefType grantee, boolean directOnly) FOR FUTURE USE ONLY.listGrantedUserViews
(IWorkflowContext ctx, IUserMetadataService.UserTaskViewType viewType, PrincipleRefType grantee, IUserMetadataService.UserTaskViewGrantType grantType, boolean directOnly) Returns a list of all views of the specified type (task views, process views, standard task views, standard process views) and grant type (data or definition) granted to the specified grantee.listPresentations
(IWorkflowContext ctx, IUserMetadataService.PresentationDataType presentationType, String owner) FOR FUTURE USE ONLY.listUserApplicationData
(IWorkflowContext ctx, String dataType, String owner) FOR FUTURE USE ONLY.listUserViews
(IWorkflowContext ctx, IUserMetadataService.UserTaskViewType viewType, String ownerUser) Returns a list of all views of the specified view type (task views, process views, standard task views, standard process views) and grant type (data or definition) owned by the specified user.listViewsUsingPresentation
(IWorkflowContext ctx, String presentationId) Returns a list ofViewSummaryType
objects that describe views which are using the specified presentation.setPublicPreferences
(IWorkflowContext ctx, UserPreferences prefs) Sets 'public' preferences for specified user.setUserPreferences
(IWorkflowContext ctx, UserPreferences prefs) Sets the user preferences for the specified from aUserPreferences
object.setVacationInfo
(IWorkflowContext ctx, VacationInfo vacationInfo) Updates the vacation information for a user using the suppliedVacationInfo
object.updateGrantedTaskView
(IWorkflowContext ctx, ViewGrant grant) Allows a grantee to update certain information on a view that has been granted to them.updatePresentation
(IWorkflowContext ctx, PresentationType presentation) FOR FUTURE USE ONLY.updateRule
(IWorkflowContext ctx, RuleDetail rule) Updates an existing workflow rule to the definition specified in aRuleDetail
object.updateUserApplicationData
(IWorkflowContext ctx, UserApplicationDataType applicationData) FOR FUTURE USE ONLY.updateUserTaskView
(IWorkflowContext ctx, UserViewDetail view) Updates an existing view to the defintion specified in aUserViewDetail
object.
-
Field Details
-
RULE_ACTION_NOOP
Rule action: No operation- See Also:
-
RULE_ACTION_REASSIGN
Rule action: Reassign task to specified user or group- See Also:
-
RULE_ACTION_DYN_REASSIGN
Rule action: Dynamically reasign task using dynamic assignment funtion to select user- See Also:
-
RULE_ACTION_DELEGATE
Rule action: Delegate task to specified user or group- See Also:
-
RULE_ACTION_SET_OUTCOME
Rule action: Set task outcome to specified value- See Also:
-
RULE_OP_LTE
Rule condition operator: less than or equal to "<="- See Also:
-
RULE_OP_GTE
Rule condition operator: greater than or equal to ">="- See Also:
-
RULE_OP_EQ
Rule condition operator: equal to "=="- See Also:
-
RULE_OP_NEQ
Rule condition operator: not equal to "!="- See Also:
-
RULE_OP_LT
Rule condition operator: less than "<"- See Also:
-
RULE_OP_GT
Rule condition operator: greater than ">"- See Also:
-
RULE_OP_CONTAINS
Rule condition operator: String contains value- See Also:
-
RULE_OP_NOT_CONTAINS
Rule condition operator: String does not contain value- See Also:
-
RULE_OP_BEGINS
Rule condition operator: String begins with value- See Also:
-
RULE_OP_NOT_BEGINS
Rule condition operator: String does not begin with value- See Also:
-
RULE_OP_ENDS
Rule condition operator: String ends with value- See Also:
-
RULE_OP_NOT_ENDS
Rule condition operator: String does not end with value- See Also:
-
RULE_OP_IN
Rule condition operator: String values in list- See Also:
-
RULE_OP_BEFORE
Rule condition operator: Date occured before- See Also:
-
RULE_OP_AFTER
Rule condition operator: Date occured after- See Also:
-
VALID_STRING_RULE_OPS
Array of valid operators for rule conditions on String values -
VALID_DATE_RULE_OPS
Array of valid operators for rule conditions on Date values -
VALID_NUMBER_RULE_OPS
Array of valid operators for rule conditions on number values
-
-
Method Details
-
getVacationInfo
Gets the current vacation information for the specified user in the form of aVacationInfo
object. Vacation information specifies two dates between which the user is unavailable for assignment of tasks. Dynamic Assignment functions will not assign tasks to users who are currently on vacation. If the user has defined any rules that are flagged as being vacation rules, then the start and end dates for the vacation rules will match the vacation start and end dates.If no vacation information has been set for the user, an empty VactionInfo object is returned.
VacationInfo has the following properties:
- isOnVacation
boolean
true
if current date is between vacation start and end date, otherwisefalse
.- user
PrincipleRefType
The user this vacation information is for.- startDate
Calendar
start date for vacation period. A null startDate and null endDate indicates that there are no vacation dates currently set for the user.- endDate
Calendar
end date for vacation period. A null startDate and null endDate indicates that there are no vacation dates currently set for the user.- Parameters:
ctx
- authenticatedIWorkflowContext
for useruser
-Participant
user to query information for- Returns:
- empty
VacationInfo
object if no vacation information has been set for user, otherwise aVacationInfo
object populated with vacation information. - Throws:
WorkflowException
- if non-admin user attempts to query information for another user, or some other error condition occurs
- isOnVacation
-
setVacationInfo
VacationInfo setVacationInfo(IWorkflowContext ctx, VacationInfo vacationInfo) throws WorkflowException Updates the vacation information for a user using the suppliedVacationInfo
object. Vacation information specifies two dates between which the user is unavailable for assignment of tasks. Dynamic Assignment functions will not assign tasks to users who are currently on vacation. In addition the start and end dates of any rules for the user which are marked as being 'vacation rules' will automatically be updated so that the rule start and end dates match the vacation startand end dates.The method validates that both a start and end date have been specified, and that the end date occurs after the start date.
VacationInfo has the following properties:
- isOnVacation
boolean
Not used on update, is set by API when querying vacation info.- user
PrincipleRefType
The user this vacation information is for.- startDate
Calendar
start date for vacation period. Setting a null startDate and null endDate will clear existing vacation dates for the user.- endDate
Calendar
start date for vacation period. Setting a null startDate and null endDate will clear existing vacation dates for the user.- Parameters:
ctx
- authenticatedIWorkflowContext
for uservacationInfo
-VacationInfo
the vacation information to set- Returns:
- the updated
VacationInfo
vacation information - Throws:
WorkflowException
- if non-admin user attempts to update information for another user, or some other error condition occurs
- isOnVacation
-
getRuleSetInfo
Deprecated.Rules persistence is no longer configurable, and rules are now persisted internally in the workflow database schema, so this method is now of limited use.Returns information relating to the Oracle Business Rules rule set being used to store the rules for a particular user or group, in the form of aRulesetInfo
object. This is useful if a client wants to make use of the rules SDK directly for manipulating rules, rather than using the user metadata service. A ruleset is created for each user or group that has workflow assignment rules defined.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.user
-Participant
user or group to get ruleset information for.- Returns:
RulesetInfo
object containing the ruleset information- Throws:
WorkflowException
-
getRuleList
Returns a list of rules for the specified user or group, as aRuleList
object. TheRuleList
object contains aList
ofRuleInfoType
objects. Each RuleInfoType object provides summary information about a rule. In order to retreive the full details for a particular rule, the methodgetRuleDetail(IWorkflowContext, String)
should be used.The RuleInfoType object has the following properties:
- ruleType
String
"USER" or "GROUP". Maintained by API.- ruleId
String
unique identifier for rule. Populated by API on rule creation. ruleId is derived from rule name, and will change if the rule name is changed.- ruleName
String
the name of rule.- priority
int
rule priority. Larger numerical value indicates higher priority. API maintains rule priorities to ensure that there is a continuous numerical sequence.- owner
PrincipleRefType
The owner (user or group) of this rule.- A rule may optionally be restricted to only be triggered for tasks of a cetain type by setting one of the following properties:
- workflowId
String
restrict rule to tasks with a specific TaskDefintionId. Only tasks with for the specified deployment (version and partition) will be targeted. If you want the rule to apply to all deployments of a task definition, use taskNamespace instead. - taskNamespace
String
restrict rule to tasks with a particular taskNamespace. All deployments of a particular task definition share the same namespace, so all versions and deployment partitions of the task definition will be targeted. If you want the rule to be targeted to a specific deployment version, use workflowId instead. - taskCategory
String
restrict rules to tasks having a particular category. Rule will apply to all tasks having the specified category - this category may span different task types, and will span all deployed versions and partitions. If you want to target a rule to a specific task definition, use workflowId or taskNamespace instead.
- taskDefinitionDisplayName
String
If workflowId or taskNamespace is set, the display name for the targeted task definition, otherwise null. Maintained by API.- taskCategoryDisplayName
String
If taskCategory is set, the display name for the targeted task category, otherwise null. Maintained by API.- actionType
String
the type of action performed by the rule. Will be one of:RULE_ACTION_REASSIGN
,RULE_ACTION_DYN_REASSIGN
,RULE_ACTION_DELEGATE
,RULE_ACTION_SET_OUTCOME
,RULE_ACTION_NOOP
. This field is maintained by the API, and will be ignored for create/update operations. Clients should set aRuleActionType
object inRuleDetailType.setAction(oracle.bpel.services.workflow.user.model.RuleActionType)
to set the rule action on create/update.- actionTarget
String
the target for the selected rule action. An assignee, delegate, assignment pattern or outcome. Will be null for a no-op action. Maintained by the API.- startDate
Calendar
a rule may optioanlly be restricted to only be triggered for tasks assigned after a certain date.- endDate
Calendar
a rule may optioanlly be restricted to only be triggered for tasks assigned before a certain date.- isVacationRule
boolean
if a rule is marked as a vacation rule, then the UserMetdataService will automatically synchonize the rule's start and end dates with the vacation start and end date's for the view's owner.- description
String
an optional description of the rule.- createdDate
Calendar
the date on which the rule was created. Populated automatically by the API on rule creation.- updatedDate
Calendar
the date on which the rule was last updated. Populated automatically by the API on rule creation and update.- Parameters:
ctx
- authenticatedIWorkflowContext
for useruser
-Participant
user or group to get RuleList for.- Returns:
RuleList
object containing list of summary information for each rule- Throws:
WorkflowException
- if non-admin user attempts to retrieve information for another user, or for a group that they to not own, or some other error condition occurs
- ruleType
-
getRuleDetail
Returns the full details for a particular rule, identified by its ruleId. Rule details are returned in the form of aRuleDetail
object. SeecreateRule(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.RuleDetail)
for a description of the RuleDetail object.- Parameters:
ctx
- authenticatedIWorkflowContext
for userruleId
-String
a unique identitier for the rule- Returns:
- full details for rule, as a
RuleDetail
object. - Throws:
WorkflowException
- if non-admin user attempts to retrieve information for a rule belonging to another user or a group that they to not own or have not been granted, or some other error condition occurs.
-
createRule
Creates a new rule from a
RuleDetail
object. A user may create rules for themselves, and for any groups that they own. Rules are evaluated when a task is assigned to that user or group - if the task meets the conditions specified in a rule, the rule is triggered, and will attempt to perform an action on the task, as specified in the RuleDetail.Rules are evaluated in order of their priority from highest (largest numerical value) to lowest. Only the first rule whose conditions are met will be triggered. Rules of lower priority will be ignored, even if the task also meets their conditions.
Rules will only be evaluated if the current date is between the rule start and end date. If no rule start and end date is specfied, the rule will always be evaluated.
If the IsVacationRule flag is set for a rule, then its start and end dates will be automatically synchronized with the user's vacation start and end dates (as configured via the setVacationInfo method in this interface). If no vacation period is currently defined for the user, then the vacation rule's start and end date's will automatically be set in the past, to ensure the rule does not get triggered
.RuleDetail
has the following parameters:- generalInfo
RuleInfoType
describes general information about the rule. This is the same information that is returned by thegetRuleList(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.common.model.Participant)
method.RuleInfoType
has the following parameters:- ruleType
String
"USER" or "GROUP". Maintained by API. - ruleId
String
unique identifier for rule. Populated by API on rule creation. ruleId is derived from rule name, and will change if the rule name is changed. - ruleName
String
the name of rule. - priority
int
rule priority. Larger numerical value indicates higher priority. API maintains rule priorities to ensure that there is a continuous numerical sequence. - owner
PrincipleRefType
The owner (user or group) of this rule. - A rule may optionally be restricted to only be triggered for tasks of a
cetain type by setting one of the following properties:
- workflowId
String
restrict rule to tasks with a specific TaskDefintionId. Only tasks for the specified deployment (version and partition) will be targeted. If you want the rule to apply to all deployments of a task definition, use taskNamespace instead. - taskNamespace
String
restrict rule to tasks with a particular taskNamespace. All deployments of a particular task definition share the same namespace, so all versions and deployment partitions of the task definition will be targeted. If you want the rule to be targeted to a specific deployment version, use workflowId instead. - taskCategory
String
restrict rules to tasks having a particular category. Rule will apply to all tasks having the specified category - this category may span different task types, and will span all deployed versions and partitions. If you want to target a rule to a specific task definition, use workflowId or taskNamespace instead.
- workflowId
- taskDefinitionDisplayName
String
If workflowId or taskNamespace is set, the display name for the targeted task definition, otherwise null. Maintained by API. - taskCategoryDisplayName
String
If taskCategory is set, the display name for the targeted task category, otherwise null. Maintained by API. - actionType
String
the type of action performed by the rule. Will be one of:RULE_ACTION_REASSIGN
,RULE_ACTION_DYN_REASSIGN
,RULE_ACTION_DELEGATE
,RULE_ACTION_SET_OUTCOME
,RULE_ACTION_NOOP
. This field is maintained by the API, and will be ignored for create/update operations. Clients should set aRuleActionType
object inRuleDetailType.setAction(oracle.bpel.services.workflow.user.model.RuleActionType)
to set the rule action on create or update. - actionTarget
String
the target for the selected rule action. An assignee, delegate, assignment pattern or outcome. Will be null for a no-op action. Maintained by the API. - startDate
Calendar
a rule may optioanlly be restricted to only be triggered for tasks assigned after a certain date. - endDate
Calendar
a rule may optioanlly be restricted to only be triggered for tasks assigned before a certain date. - isVacationRule
boolean
if a rule is marked as a vacation rule, then the UserMetdataService will automatically synchonize the rule's start and end dates with the vacation start and end date's for the view's owner. - description
String
an optional description of the rule. - createdDate
Calendar
the date on which the rule was created. Populated automatically by the API on rule creation. - updatedDate
Calendar
the date on which the rule was last updated. Populated automatically by the API on rule creation and update.
- taskTests
RuleTestListType
A rule may optionally specify a number of test conditions that must be satisified for the rule to be triggered. The RuleTestListType object should be populated withRuleTestType
objects. Each RuleTestType defines a test against a single attribute of aTask
, and can be added to the RuleTestListType by calling the method RuleTestListType.getTest().add(RuleTestType test). The properties ofRuleTestType
are:- field
String
used to specify whichTask
attribute the test is for, using dot-separators to specify the path to attributes. For example, "title", "systemAttributes.createdDate", or "systemMessageAttributes.textAttribute1". The attribute paths for aTask
can be determined using the methodsITaskMetadataService.getTaskAttributes(oracle.bpel.services.workflow.verification.IWorkflowContext)
orITaskMetadataService.getTaskAttributesForTaskDefinition(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
. - operation
String
used to specify the operator for the test. The operator should be one of the RULE_OP constants specified in this interface. Note that certain operators are only valid for certain attribute types. The String array constantsVALID_DATE_RULE_OPS
,VALID_NUMBER_RULE_OPS
andVALID_STRING_RULE_OPS
list which operators are valid for different attribute types. - value
String
used to specify the value for the test for all attribute types other than dates. - dateValue
Calendar
used to specify the value for the test for date attribute types.
- payloadTests Not used. Task payload tests are not currently supported. To create rules pased on a payload value, the
IRuntimeConfigService
can be used to create a PayloadMapping between the payload attribute and a Task flexfield. It is then possible to specify taskTests against the mapped flexfield.- action
RuleActionType
Species the action to be taken if the rule is triggered. An action must be set on the rule. The properties of RuleActionType are:- actionType
String
The actionType must be set to one of the following values:- IUserMetadataService.RULE_ACTION_NOOP Rule takes no action. No other fields on the RuleActionType object need to be set.
- IUserMetadataService.RULE_ACTION_REASSIGN Rule attempts to
reassign the task to another user or group.
The reassign field of the RuleActionType object must be set with a
RuleAssignmentType
object. Only the assignee field of the RuleAssignmentType object should be set. - IUserMetadataService.RULE_ACTION_DYN_REASSIGN Rule attempts to reassign
the task to a user selected from the specified group using the specified dynamic
assignment function. The reassign field of the RuleActionType object must
be set with a
RuleAssignmentType
object. The assignee field of the RuleAssignmentType object should be set to a group, and the dynamicAssignmentFunction field should be set to the name of the Dynamic Assignment Function to use. - IUserMetadataService.RULE_ACTION_DELEGATE Rule attempts to delegate
the task to the specified user or group. The delegate field of the RuleActionType
object must be set with a
RuleAssignmentType
object. The assignee field of the RuleAssignmentType object should be set to the user or group being delegated to. - IUserMetadataService.RULE_ACTION_SET_OUTCOME Rule attempts to set the task outcome to the specified value. The setOutcome field of the RuleActionType should be populated with the desired outcome.
- noOperation Not used.
- reassign
RuleAssignmentType
Must be set for REASSIGN and DYN_REASSIGN rule actions. The properties of RuleAssignmentType are:- assignee
PrincipleRefType
The target assignee. - dynamicAssignmentFunction
String
For DYN_REASSIGN rule action, this must be set to the Dynamic Assignment Function to be used to select a user from the group specified in the assignee property. A list of suitable Dynamic Assignment Functions can be determined from the methodIRuntimeConfigService.getUserDynamicAssignmentFunctions(oracle.bpel.services.workflow.verification.IWorkflowContext)
.
- assignee
- delegate
RuleAssignmentType
Must be set for DELEGATE rule action. The properties of RuleAssignmentType are:- assignee
PrincipleRefType
The user or group to delegate the task to. - dynamicAssignmentFunction
String
Not used for DELEGATE rule action.
- assignee
- setOutcome
String
Must be set for SET_OUTCOME action. The outcome that the Task will be set to.
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.rule
-RuleDetail
object defining the rule.- Returns:
- the created
RuleDetail
. The ruleId will be populated on the returned object. - Throws:
WorkflowException
- if non-admin user attempts to create a rule for another user or for a group that they to not own, or some other error condition occurs.
- generalInfo
-
updateRule
Updates an existing workflow rule to the definition specified in a
RuleDetail
object. SeecreateRule(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.RuleDetail)
for a description of how to use theRuleDetail
object.Note that the name of a rule is used to generate its ruleId. Updating a rule name will result in its ruleId changing. The RuleDetail object returned by this method will contain the updated ruleId.
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.rule
-RuleDetail
object defining the rule.- Returns:
- the updated
RuleDetail
. The correct ruleId will be populated on the returned object. - Throws:
WorkflowException
- if non-admin user attempts to update information for a rule belonging to another user or a group that they to not own, or some other error condition occurs.
-
deleteRule
Deletes an existing workflow rule, based on its ruleId.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.ruleId
-String
unique identifier for rule.- Throws:
WorkflowException
- if non-admin user attempts to delete a a rule belonging to another user or a group that they to not own, or some other error condition occurs.
-
increaseRulePriority
Increases the priority of the specified rule by 1. Rules are evaluated in order of their priority from highest (largest numerical value) to lowest. Only the first rule whose conditions are met will be triggered. Rules of lower priority will be ignored, even if the task also meets their conditions.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.ruleId
-String
unique identifier for rule.- Throws:
WorkflowException
- if non-admin user attempts to update information for a rule belonging to another user or a group that they to not own, or some other error condition occurs.
-
decreaseRulePriority
Decreases the priority of the specified rule by 1. Rules are evaluated in order of their priority from highest (largest numerical value) to lowest. Only the first rule whose conditions are met will be triggered. Rules of lower priority will be ignored, even if the task also meets their conditions.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.ruleId
-String
unique identifier for rule.- Throws:
WorkflowException
- if non-admin user attempts to update information for a rule belonging to another user or a group that they to not own, or some other error condition occurs.
-
listUserViews
List<ViewSummaryType> listUserViews(IWorkflowContext ctx, IUserMetadataService.UserTaskViewType viewType, String ownerUser) throws WorkflowException Returns a list of all views of the specified view type (task views, process views, standard task views, standard process views) and grant type (data or definition) owned by the specified user.The IdentityService realm for the owner is assumed to be the same as the context user. Only an admin can call this method with an owner different to the context user.
If no owner user is specified, then the views owned by the context user are returned.
Note that if the view type specifies standard views (STANARD_VIEW or STDPROCESS_VIEW), then all standard views of that type are returned, regardless of owner, as standard views are accessible by all users. When a standard view type is specified, then setting the owner field has no affect on the list of views returned.
If no view type is specified, then all views owned by the specified owner, are returned regardless of type. Note that the list will not include standard views, unless the standard view happens to be owned by that user
The method returns a List of
ViewSummaryType
objects, each of which provides summary information about a view. In order to retreive the full details for a particular rule, the methodgetUserTaskViewDetails(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
should be should be used.ViewSummaryType has the following properties:
- id
String
unique identifier for view, automatically populated by API on view creation.- name
String
the name of the view. If this is a standard view, and the WorkflowLabels.proprties resource bundle contains an entry for this standard view name, then the label from the apppropriate Locale for the context user will be used instead.- owner
PrincipleRefType
The owner of the view.- hidden
boolean
value. Can be used by UI to determine how to display the view. In the sample worklist application, views marked as "hidden" are not displayed in the list of views in the user's task listing page.- viewType String identifying the type of view, will be set to the toString() value of one of the members of the enumeration
IUserMetadataService.UserTaskViewType
.- description
For regular process and task views, the list of views owned by the user is returned. For standard views, the complete list of standard views of the specified type is returned.String
optional description of view.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.viewType
- a value from the enumIUserMetadataService.UserTaskViewType
specifying the type of views to list. If no viewType is specfied, then all types of view owned by the user will be listed. If a standard view type is specified, then all standard views of the specified type will be listed, regardless of owner.ownerUser
- String name of the user owing the views to list. If null, the views owned by the context user will be listed. Only an admin may list views owned by a user other than the context user. The value of the owner parameter is ignored if the viewType parameter is set to STANDARD_VIEW or STDPROCESS_VIEW.- Returns:
- a List of
ViewSummaryType
objects. - Throws:
WorkflowException
- id
-
listGrantedUserViews
List<ViewGrantType> listGrantedUserViews(IWorkflowContext ctx, IUserMetadataService.UserTaskViewType viewType, PrincipleRefType grantee, IUserMetadataService.UserTaskViewGrantType grantType, boolean directOnly) throws WorkflowException Returns a list of all views of the specified type (task views, process views, standard task views, standard process views) and grant type (data or definition) granted to the specified grantee.If no grantee is specified, then the views granted to the context user are returned.
If no view type is specified, then all granted views matching the grantee (and grant type, if specified) are listed, regardless of type.
If no grant type is specified, then all grants matching the grantee (and view type, if specified) are listed, regardless of grant type.
If
directOnly
is set to true, then only the views granted directly to the specified grantee are returned. Otherwise, all views granted directly to the grantee, and views granted to any groups or application roles the grantee is a member of are returned.Only an admin can query the views granted to another user. Only an admin, a group or application role owner, or a member of the group or application role can query views granted to a group or application role.
The method returns a List of
ViewGrantType
objects, which have the following properties:- grantType Specifies the type of view grant, and determines whether the grantee will see their own data, or the view owner's data when using the view. Will be set to one of the toString values of the
IUserMetadataService.UserTaskViewGrantType
enumeration ("DATA" or "DEFINITION").- viewId
String
unique identifier for the granted view.- grantee
PrincipleRefType
The user to whom the view has been granted- grantedName
String
The grantee may choose to use a different name for the view to the one chosen by the view's owner.- grantedDescription
String
The grantee may choose to use a different description for the view to the one chosen by the view's owner.- hidden
boolean
Can be used by UI to determine how to display the view. In the sample worklist application, granted views marked as "hidden" are not displayed in the list of views in the user's task listing page.- viewOwner
PrincipleRefType
The owner of the view.- originalName
String
The name of the view chosen by the owner.- originalDescription
String
The description for the view chosen by the owner.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.viewType
- a value from the enumIUserMetadataService.UserTaskViewType
specifying the type of views to list. If no viewType is specfied, then all types of view gratned to the grantee will be listed.grantee
-PrincipleRefType
identifying the user, group or application role for which to list the granted views. If null, then the context user will be used as the grantee. Note that only an admin can query the views granted to another user. Only an admin, a group or application role owner, or a member of the group or application role can query views granted to a group or application role.grantType
- a value from the enumIUserMetadataService.UserTaskViewGrantType
specifying the type of view grant to list. If null, then all types of view grant will be listed.directOnly
- iftrue
, then only views granted directly to the grantee will be listed. Otherwise, views granted directly to the grantee, and views granted to any groups and application roles the grantee is a member of will be listed.- Returns:
- a List of
ViewGrantType
objects. - Throws:
WorkflowException
- grantType Specifies the type of view grant, and determines whether the grantee will see their own data, or the view owner's data when using the view. Will be set to one of the toString values of the
-
getStandardTaskViewList
Gets the list of standard task views which ship with the product, and are available to all users. Only views of typeIUserMetadataService.UserTaskViewType.STANDARD_VIEW
will be returned. (This list of standard views can be altered by admin users creating, updating or deleting views of type UserTaskViewType.STANDARD_VIEW.) Views are returned as aUserViewList
object. The UserViewList object contains aList
ofViewSummaryType
objects, accessed by calling theUserViewListType.getView()
method. Each ViewSummaryType object provides summary information about a view. In order to retreive the full details for a particular rule, the methodgetStandardTaskViewDetails(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
should be used.ViewSummaryType has the following properties:
- id
String
unique identifier for view, automatically populated by API on view creation.- name
String
the name of the view. If the WorkflowLabels.proprties resource bundle contains an entry for this standard view name, then the label from the apppropriate resource bundle for the context user will be used instead.- owner
PrincipleRefType
The owner of the view- this is set to a dummy value for standard views.- hidden
boolean
value. Can be used by UI to determine how to display the view. In the sample worklist application, views marked as "hidden" are not displayed in the list of views in the user's task listing page.- viewType String identifying the type of view, will be set to the toString() value of
IUserMetadataService.UserTaskViewType.STANDARD_VIEW
.- description
String
optional description of view.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.- Returns:
UserViewList
list ofViewSummaryType
objects.- Throws:
WorkflowException
- if an error occurs retrieving the standard views.
- id
-
getUserTaskViewList
Gets the list of task views belonging to the specified user. Only views of typeIUserMetadataService.UserTaskViewType.VIEW
will be returned. Views are returned as aUserViewList
object. TheUserViewList
object contains aList
ofViewSummaryType
objects, accessed by calling theUserViewListType.getView()
method. Each ViewSummaryType object provides summary information about a view. In order to retreive the full details for a particular rule, the methodgetUserTaskViewDetails(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
should be used.ViewSummaryType has the following properties:
- id
String
unique identifier for view, automatically populated by API on view creation.- name
String
the name of the view.- owner
PrincipleRefType
The owner of the view.- hidden
boolean
value. Can be used by UI to determine how to display the view. In the sample worklist application, views marked as "hidden" are not displayed in the list of views in the user's task listing page.- viewType String identifying the type of view, will be set to the toString() value of
IUserMetadataService.UserTaskViewType.VIEW
.- description
String
optional description of view.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.user
-Participant
user to get the views for.- Returns:
UserViewList
list ofViewSummaryType
objects.- Throws:
WorkflowException
- if non-admin user attempts to retrieve the list of views for another user, or some other error condition occurs.
- id
-
getUserViewList
Gets the list of task views belonging to the specified user. Only views of typeIUserMetadataService.UserTaskViewType.VIEW
will be returned. Views are returned as aUserViewList
object. TheUserViewList
object contains aList
ofViewSummaryType
objects, accessed by calling theUserViewListType.getView()
method. Each ViewSummaryType object provides summary information about a view. In order to retreive the full details for a particular rule, the methodgetUserTaskViewDetails(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
should be used.ViewSummaryType has the following properties:
- id
String
unique identifier for view, automatically populated by API on view creation.- name
String
the name of the view.- owner
PrincipleRefType
The owner of the view.- hidden
boolean
value. Can be used by UI to determine how to display the view. In the sample worklist application, views marked as "hidden" are not displayed in the list of views in the user's task listing page.- viewType String identifying the type of view, will be set to the toString() value of
IUserMetadataService.UserTaskViewType.VIEW
.- description
String
optional description of view.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.user
-Participant
user to get the views for.- Returns:
UserViewList
list ofViewSummaryType
objects.- Throws:
WorkflowException
- if non-admin user attempts to retrieve the list of views for another user, or some other error condition occurs.
- id
-
getUserInboxView
Deprecated.- Throws:
WorkflowException
-
getGrantedTaskViewList
GrantedViewList getGrantedTaskViewList(IWorkflowContext ctx, Participant user) throws WorkflowException Gets the list of task views that have been granted to the specified user by other users. Only views of typeIUserMetadataService.UserTaskViewType.VIEW
will be returned. Users that have been granted a view can use that view to query tasks as the owner of the view. The view owner and the grantee will see the same data when using the view. The grantee is able query, but not update view details for the granted view.Granted views are returned as a
GrantedViewList
object. The GrantedViewList object contains aList
ofViewGrantType
objects, accessed by calling theGrantedViewListType.getViewGrant()
method. ViewGrantType has the following properties:- grantType
String
Specifies the type of view grant, and determines whether the grantee will see their own data, or the view owner's data when using the view. Will be set to one of the toString values of theIUserMetadataService.UserTaskViewGrantType
enumeration ("DATA" or "DEFINITION").- viewId
String
unique identifier for the granted view.- grantee
PrincipleRefType
The user to whom the view has been granted- grantedName
String
The grantee may choose to use a different name for the view to the one chosen by the view's owner.- grantedDescription
String
The grantee may choose to use a different description for the view to the one chosen by the view's owner.- hidden
boolean
Can be used by UI to determine how to display the view. In the sample worklist application, granted views marked as "hidden" are not displayed in the list of views in the user's task listing page.- viewOwner
PrincipleRefType
The owner of the view.- originalName
String
The name of the view chosen by the owner.- originalDescription
String
The description for the view chosen by the owner.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.user
-Participant
user to get the granted views for.- Returns:
GrantedViewList
list ofViewGrantType
objects.- Throws:
WorkflowException
- if non-admin user attempts to retrieve the list of granted views for another user, or some other error condition occurs.
- grantType
-
getStandardTaskViewDetails
UserViewDetail getStandardTaskViewDetails(IWorkflowContext ctx, String viewId) throws WorkflowException Gets the full details for a particular standard view, identified by its viewId. View details are returned as aUserViewDetail
object. SeecreateUserTaskView(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.UserViewDetail)
for a description of the UserViewDetail properties.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.viewId
-String
unique identifier for view.- Returns:
UserViewDetail
describing standard view.- Throws:
WorkflowException
- if error occurs retrieving view details.
-
getUserTaskViewDetails
Gets the full details for a particular user view, identified by its viewId. View details are returned as aUserViewDetail
object. SeecreateUserTaskView(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.UserViewDetail)
for a description of the UserViewDetail properties.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.viewId
-String
unique identifier for view.- Returns:
UserViewDetail
describing user view.- Throws:
WorkflowException
- if non-admin user attempts to retrieve view belonging to another user, or some other error condition occurs.
-
createUserTaskView
UserViewDetail createUserTaskView(IWorkflowContext ctx, UserViewDetail view) throws WorkflowException Creates a new view from the specified
UserViewDetail
object. Views provide a way for users to persist queries that return lists of tasks. A view can define which task columns should be queried, how the tasks should be filtered, and how the tasks should be ordered. Views are persisted by the API, and a view can be used to query a list of tasks using the methodITaskQueryService.queryViewTasks(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String, oracle.bpel.services.workflow.repos.Predicate, oracle.bpel.services.workflow.repos.Ordering, int, int)
.Users can grant other users access to their views, allowing the grantee to query the view data as if they are the view owner.
The UserViewDetail object properties are as follows:
- id
String
unique identifier for view, automatically populated by API on view creation. - viewType
String
indicates whether this view is one of the 'standard views', visible to all users, or is a personal view. Should be set to one of the String values of the enumerationIUserMetadataService.UserTaskViewType
. (Either 'VIEW' or 'STANDARD_VIEW'). Only admin users can create (or update, or delete) standard views. If no value is specified, viewType will default to 'VIEW'. - name
String
name for view. In the case of standard views, this name can be used to lookup a resource string from the WorkflowLabels.properties resource bundle. When querying standard views, if such a resource string is available, the value of this field will be replaced by this resource string (in the appropriate Locale, as determined from the IWorkflowContext object). If no resource string is found, then the name of the standard view will be set to the same value as specified in this field when the view was created or updated. - owner
PrincipleRefType
The owner of the view. - hidden
boolean
value. Can be used by UI to determine how to display the view. In the sample worklist application, views marked as "hidden" are not displayed in the list of views in the user's task listing page. - description
String
optional description of view. - presentationId @{link String} unique idenitifier for the Presentation
associated with this view. The Presentation object determines how the results
of the view query should be ordered and formatted. Associating a view
with a presentaion is optional. If a view is associated with a Presentation,
then the view's viewColumns, viewOptionalInfo and viewOrdering
properties are ignored - the values from the Presentation are used instead.
Refer to the documentation for the
createPresentation(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.PresentationType)
method for more details. - viewColumns Note that if a Presentation is associated
with the view, this field will be ignored.
ColumnListType
specifies which task columns should be retrieved by the view. TheColumnListType
object should be populated withColumnType
objects. ColumnType objects can be added to the ColumnListType by calling the method ColumnListType.getColumn().add(ColumnType column). ColumnType has the following properties:- columnName
String
The column name should be the name of a column in the WFTASK database table. A list of column names can be retrieved using the methodsITaskMetadataService.getTaskAttributes(oracle.bpel.services.workflow.verification.IWorkflowContext)
orITaskMetadataService.getTaskAttributesForTaskDefinition(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
. - displayName
String
The display name to use for the column. This property has no meaning for HWF Service APIs, it is up to client applications how to interpret this field, if they choose to use it. - columnWidth An integer indicating the display width of the column. This property has no meaning for HWF Service APIs, it is up to client applications how to interpret this field, if they choose to use it.
- formatMask A
String
indicating a format mask to be used to format the column data. This property has no meaning for HWF Service APIs, it is up to client applications how to interpret this field, if they choose to use it.
- columnName
- viewOptionalInfo Note that if a Presentation is associated
with the view, this field will be ignored.
TaskOptionalInfoType
specifies additional information that the view query will return in addtion to that which can be queried directly from task columns. The TaskOptionalInfoType object contains aList
ofString
values, that should correspond to values determined from theITaskQueryService.OptionalInfo
enum. Values can be added to the TaskOptionalInfoType by calling the method TaskOptionalInfoType.getTaskOptionalInfo().add(String value). - viewPredicate
TaskPredicateType
specifies how the view should filter tasks. The TaskPredicateType object contains the following properties:- assignmentFilter
String
value corresponding to a value ofITaskQueryService.AssignmentFilter
enum. - keywords
String
optional keyword search string. If this parameter is null, it is omitted from all query. If not null, predicates will be added to the query to perform SQL 'like' operation (of the form LIKE '%keyword%') on the following task attributes: task title, identification key, all textAttributes in task, task number (only if the keyword is a number) - clause Deprecated. Use the predicate property instead. This property is still available to preserve backward compatibility.
- predicate A
PredicateType
object that specifies the additional conditions in the view query. The simplest way to construct a PredicateType object is to construct aPredicate
, and then use the methodPredicate.getPredicateType()
to obtain the PredicateType object that represents the Predicate.
- assignmentFilter
- viewOrdering Note that if a Presentation is associated
with the view, this field will be ignored.
TaskOrderingType
specifies how the Tasks or Process Instances selected by the view should be ordered. The TaskOrderingType object contains aList
ofOrderingClauseType
objects. OrderingClauseTypes can be added to the TaskOrderingType by calling the method TaskOrderingType.getClause().add(OrderingClauseType clause). Each OrderingClauseType specifies a single ordering clause, using the following properties:- sortOrder
String
Should beOrdering.ASCENDING_ORDER
orOrdering.DESCENDING_ORDER
. Default is ascending. - nullFirst
boolean
Should null values be listed first or last. - column
String
name of column to sort on. The column name should be the a column on the WFTASK table. A list of column names can be retrieved using the methodsITaskMetadataService.getTaskAttributes(oracle.bpel.services.workflow.verification.IWorkflowContext)
orITaskMetadataService.getTaskAttributesForTaskDefinition(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
.
- sortOrder
- chart
ChartType
A client application may use this property to define how task counts should be aggregated when using the methodITaskQueryService.queryViewAggregatedTasks(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String, oracle.bpel.services.workflow.repos.Predicate, oracle.bpel.services.workflow.repos.Column, boolean, boolean)
. ChartType has the following properties:- groupByColumn
String
The name of the column the task counts should be grouped by. - selectValues
ChartType.SelectValuesType
optionally specifies a list of values from the groupByColumn that should be selected for aggregation. If no selectValues are selected, then all agregation is over all values of the groupBy column - orderByCount
boolean
iftrue
, results will be ordered by the counts, iffalse
, results will be ordered by the values of the group by column. - ascendingOrder
boolean
iftrue
, results will be in ascending order, otherwise results will be in descending order.
- groupByColumn
- grantees
ViewGranteeListType
A view can be granted to other users, allowing the grantee users to query tasks using the view. Depending on the grant type specified, grantees will either query data as the view owner (seeing the same data as the view owner sees), or query their own data, filteted by the view. Grantees are able to query, but not update the view definition. ViewGranteeListType contains aList
ofViewGranteeType
objects. ViewGranteeType objects can be added to the ViewGranteeListType using the method ViewGranteeListType.getGrantee().add(ViewGranteeType grantee). Each ViewGranteeType defines the grant of the view to another user, and has the following properties:- grantType
String
Specifies the type of view grant,
and determines whether the grantee will see their own data, or the view owner's
data when using the view. Must be set to one of the toString values of the
- name
String
the name of the grantee. - realm
String
the name of the IdentityService realm the grantee belongs to, if the grantee is a USER or a GROUP. - applicationContext
String
the name of the Application the grantee belongs to, if the grantee is an APPROLE. - type
String
currently unused. The type of grantee ("USER", "GROUP", or "APPROLE"). Granting of views to groups is not currently supported.
IUserMetadataService.UserTaskViewGrantType
enumeration ("DATA" or "DEFINITION"). - grantType
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.view
-UserViewDetail
that defines view to be created.- Returns:
UserViewDetail
that was created, with viewId populated.- Throws:
WorkflowException
- if non-admin user attempts to create a view belonging to another user, or some other error condition occurs.
- id
-
updateUserTaskView
UserViewDetail updateUserTaskView(IWorkflowContext ctx, UserViewDetail view) throws WorkflowException Updates an existing view to the defintion specified in aUserViewDetail
object. SeecreateUserTaskView(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.UserViewDetail)
for a description of the UserViewDetail object.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.view
-UserViewDetail
that defines view to be updated.- Returns:
UserViewDetail
that was updated.- Throws:
WorkflowException
- if non-admin user attempts to update a view belonging to another user, or some other error condition occurs.
-
deleteUserTaskView
Deletes an existing view identifies by its viewId.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.viewId
-String
unique identifier for view.- Throws:
WorkflowException
- if non-admin user attempts to delete a view belonging to another user, or some other error condition occurs.
-
deleteAnyUserTaskView
Deletes an existing view identifies by its viewId.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.viewId
-String
unique identifier for view.- Throws:
WorkflowException
- if non-admin user attempts to delete a view belonging to another user.
-
updateGrantedTaskView
Allows a grantee to update certain information on a view that has been granted to them. The grantee of a view may update certain properties on theViewGrant
, which affect how the view is displayed to them. They may not update the definition of the view itself. The properties they may update are:- grantedName
String
grantee may choose to use a different name for the view to the one chosen by the view's owner.- grantedDescription
String
grantee may choose to use a different description for the view to the one chosen by the view's owner.- hidden
boolean
Can be used by UI to determine how to display the view. In the sample worklist application, granted views marked as "hidden" are not displayed in the list of views in the user's task listing page.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.grant
-ViewGrant
object containing updated properties.- Returns:
- The updated
ViewGrant
object. - Throws:
WorkflowException
- if non-admin user attempts to update a view grant granted to another user, or some other error condition occurs.
- grantedName
-
getUserPreferences
Gets the user preferences for the specified user as aUserPreferences
object.User preferences are a set of name value pairs, stored against a specfic user. They can be used by client programs for implementing user-specific preferences. The sample worklist application uses user preferences for storing such information as what size the main application window should be, and how many rows should be returned in paging queries.
The UserPreferences object contains a
List
ofUserPreferenceType
objects, each of which represents a name value pair. The properties of UserPreferenceType are:- user
PrincipleRefType
The user who set this preference.- name
String
The name of this preference.- value
String
The value of this preference.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.user
-Participant
user to get preferences for.- Returns:
UserPreferences
list ofUserPreferenceType
objects.- Throws:
WorkflowException
- if non-admin user attempts to query the preferences for another user, or some other error condition occurs.
- user
-
setUserPreferences
UserPreferences setUserPreferences(IWorkflowContext ctx, UserPreferences prefs) throws WorkflowException Sets the user preferences for the specified from aUserPreferences
object.User preferences are a set of name value pairs, stored against a specfic user. They can be used by client programs for implementing user-specific preferences. The sample worklist application uses user preferences for storing such information as what size the main application window should be, and how many rows should be returned in paging queries.
The UserPreferences object contains a
List
ofUserPreferenceType
objects, each of which represents a name value pair. The properties of UserPreferenceType are:- user
PrincipleRefType
The user who set this preference.- name
String
The name of this preference.- value
String
The value of this preference.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.prefs
-UserPreferences
list ofUserPreferenceType
objects.- Returns:
UserPreferences
the updated User Preferences.- Throws:
WorkflowException
- if non-admin user attempts to update the preferences for another user, or some other error condition occurs.
- user
-
getPublicPreferences
UserPreferences getPublicPreferences(IWorkflowContext ctx, Participant user) throws WorkflowException Gets 'public' preferences for specified user. Public preferences are preferences that can be read by any user, but can only be updated by the owning user, or an admin. Public preferences are useful for specifying application preferences that apply to all users of a custom client. These custom client application preferences could be created and maintained by an admin user, and be queried by all users, using the admin user's username.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.user
-Participant
user to get public preferences for.- Returns:
UserPreferences
list ofUserPreferenceType
objects.- Throws:
WorkflowException
- if some error condition occurs.
-
setPublicPreferences
UserPreferences setPublicPreferences(IWorkflowContext ctx, UserPreferences prefs) throws WorkflowException Sets 'public' preferences for specified user. Public preferences are preferences that can be read by any user, but can only be updated by the owning user, or an admin. Public preferences are useful for specifying application preferences that apply to all users.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.prefs
-UserPreferences
list ofUserPreferenceType
objects.- Returns:
UserPreferences
the updated public User Preferences.- Throws:
WorkflowException
-
createUserApplicationData
UserApplicationDataType createUserApplicationData(IWorkflowContext ctx, UserApplicationDataType applicationData) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Creates an instance of aUserApplicationDataType
object for a user. UserApplicationData is used to store application-specific data for a particular user. The actual data can be of any format.Only the owning user or an admin can create, update or delete their application data, but a user can choose to grant read-only access to application data to other users, groups, or application roles.
The UserMetadataService is entirely agnostic to the actual application data being stored. All parsing,validation and processing must be performed by the client.
The properties of a UserApplicationData object are as follows:
- id
String
globally unique identifier for UserApplicationData, automatically populated by API on creation. - name
String
Name identifying the application data. The combination of owner, applicationDataType and name must be unique. - applicationDataType
String
string identifying the type of data being stored, for example "LAYOUT" or "BAMDASHBOARD". This can be any value - it is up to API clients to define the types of data. - owner
String
the username of the user that owns this data. If this field is not populated, it will be defaulted to the name of the context user. Only the owner or an admin may create, update or delete application data belonging to the owner. - identityContext
String
the IdentityService realm to which the owner belongs. If left null, it will be defaulted to the realm of the context user. - data
String
Actual data that is stored by API. This is text of unlimited length, and can be any format (XML, CSV etc.). The UserMetadataService is entirely agnostic to the content of this field. All parsing, validation and processing must be performed by the client. - grantees A
PrincipleListType
object containing aList
ofPrincipleRefType
objects identifying the users, groups or application roles that this application data has been shared with. Grantees get read-only access to the application data. - createdDate
Calendar
Date this application data entry was created. Automatically populated by UserMetadataService API. - updatedDate
Calendar
Date this application data entry was last updated. Automatically populated by UserMetadataService API.
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.applicationData
- theUserApplicationDataType
object to create.- Returns:
- the
UserApplicationDataType
object that was created, with automatically maintained fields populated. - Throws:
WorkflowException
- id
-
updateUserApplicationData
UserApplicationDataType updateUserApplicationData(IWorkflowContext ctx, UserApplicationDataType applicationData) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Updates a UserApplicationDataType object. Application data can only be updated by the owner or an admin.For a full description of the UserApplicationDataType object, refer to the documentation for the method
createUserApplicationData(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.UserApplicationDataType)
/- Parameters:
ctx
- authenticatedIWorkflowContext
for user.applicationData
- theUserApplicationDataType
object to update.- Returns:
- the
UserApplicationDataType
object that was created, with automatically maintained fields updated. - Throws:
WorkflowException
-
deleteUserApplicationData
void deleteUserApplicationData(IWorkflowContext ctx, String applicationDataId) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Deletes a UserApplicationDataType object. Application data can only be deleted by the owner or an admin.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.applicationDataId
-String
unique identifier of the user applicaiton data to be deleted.- Throws:
WorkflowException
-
getUserApplicationData
UserApplicationDataType getUserApplicationData(IWorkflowContext ctx, String applicationDataId) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Gets the UserApplicationData object with the specified id. Only the owner, a grantee or an admin can query a UserApplicationData object.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.applicationDataId
-String
unique identifier of the user applicaiton data to be deleted.- Returns:
- a
UserApplicationDataType
object. - Throws:
WorkflowException
-
listUserApplicationData
List<UserApplicationDataType> listUserApplicationData(IWorkflowContext ctx, String dataType, String owner) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product.Gets a list of UserApplicationData objects of the specified type, belonging to the specified owner. (The owner's identityContext is assumed to be the same as the context user).
Note that only admins can call the method and specify an owner other than the context user.
If no type is specfied, then all the ApplicationData for the specified owner are returned, regardless of type.
If no owner is specified, then the method will return a list of all UserApplicationData owned by the context user, filtered by the specified type (if any).
This method returns only application data owned by the specified user. To get application data granted to a user, the method
listGrantedUserApplicationData(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String, oracle.bpel.services.workflow.common.model.PrincipleRefType, boolean)
should be used instead.For a description of the UserApplicationDataType object, refer to the documentation for the method
createUserApplicationData(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.UserApplicationDataType)
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.dataType
-String
the type of application data to return. Ifnull
, all UserApplicationData for the specified owner will be returned.owner
-String
the owner of the application data to return. The owner's IdentityService realm is assumed to be the same as that as the context user. If no owner is specified, then the method will return a list of all UserApplicationData owned by the context user, filtered by the specified type (if any).- Returns:
- a
List
ofUserApplicationDataType
objects. - Throws:
WorkflowException
-
listGrantedUserApplicationData
List<UserApplicationDataType> listGrantedUserApplicationData(IWorkflowContext ctx, String dataType, PrincipleRefType grantee, boolean directOnly) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Gets a list of UserApplicationData objects of the specified type, granted to the specified grantee (which may be a user, group or application role).If no dataType is specfied, then all the ApplicationData granted to the specified grantee are returned, regardless of type.
If no grantee is specified, then the method will use the context user as the grantee.
If
directOnly
is set totrue
, then only ApplicationData granted directly to the specified grantee will be returned. Otherwise ApplicationData granted directly to the grantee, and ApplicationData granted to any groups or application roles the grantee is a member of will be returnedOnly an admin can query the application data granted to another user. Only an admin, a group or application role owner, or a member of the group or application role can query application data granted to a group or application role.
This method returns only application data granted to the specified grantee. To get application data owned by a user, the method
listUserApplicationData(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String, java.lang.String)
should be used instead.For a description of the UserApplicationDataType object, refer to the documentation for the method
createUserApplicationData(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.UserApplicationDataType)
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.dataType
-String
the type of application data to return. Ifnull
, all UserApplicationData for the specified grantee will be returned.grantee
-PrincipleRefType
identifying the grantee of the application data to return. If no grantee is specfied, then the context user is used as the grantee.directOnly
- iftrue
, then only the ApplicationData directly granted to the grantee will be listed. Otherwise, ApplicationData granted to groups or application roles the grantee is a member of will also be listed.- Returns:
- a
List
ofUserApplicationDataType
objects. - Throws:
WorkflowException
-
createPresentation
PresentationType createPresentation(IWorkflowContext ctx, PresentationType presentation) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Creates a new Presentation object. Presentations are meta-data that describe how query results should be presented - which columns, how the column data should be formatted, how the results should be sorted, and any additional data that should be fetched.Presentations are owned by a specific user, and only the owning user or an admin can create, update or delete presentations, but a user can choose to grant read-only access to application data to other users, groups, or application roles.
Presentations can be associated with one or more views, and provide a way of defining a standard presentation of data that can be shared amongst multiple views.
The properties of the
PresentationType
object are:- id A
String
globally unique idenitier for the Presentation. Automatically assigned by the API when Presentation is created. - presentationDataType A
String
identifying the type of data this presentation is intended to format - "TASK" or "PROCESS". If no value is specified, the presentationDataType will default to "TASK". - name
String
Name for this presentation - must be unique to the set of presentations belonging to the same owner. The combinition of name and owner must be unique. - owner
String
the username of the user that owns this Presentation. If this field is not populated, it will be defaulted to the name of the context user. Only the owner or an admin may create, update or delete Presentations belonging to the owner. - identityContext
String
the IdentityService realm to which the owner belongs. If left null, it will be defaulted to the realm of the context user. - columns
ColumnListType
specifies which task columns should be retrieved by the view. TheColumnListType
object should be populated withColumnType
objects. ColumnType objects can be added to the ColumnListType by calling the method ColumnListType.getColumn().add(ColumnType column). ColumnType has the following properties:- columnName
String
The column name should be the name of a column in the WFTASK database table. A list of column names can be retrieved using the methodsITaskMetadataService.getTaskAttributes(oracle.bpel.services.workflow.verification.IWorkflowContext)
orITaskMetadataService.getTaskAttributesForTaskDefinition(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
. - displayName
String
The display name to use for the column. This property has no meaning for HWF Service APIs, it is up to client applications how to interpret this field, if they choose to use it. - columnWidth An integer indicating the display width of the column. This property has no meaning for HWF Service APIs, it is up to client applications how to interpret this field, if they choose to use it.
- formatMask A
String
indicating a format mask to be used to format the column data. This property has no meaning for HWF Service APIs, it is up to client applications how to interpret this field, if they choose to use it.
- columnName
- optionalInfo
TaskOptionalInfoType
specifies additional information that the view query will return in addtion to that which can be queried directly from task columns. The TaskOptionalInfoType object contains aList
ofString
values, that should correspond to values determined from theITaskQueryService.OptionalInfo
enum. Values can be added to the TaskOptionalInfoType by calling the method TaskOptionalInfoType.getTaskOptionalInfo().add(String value). - ordering
TaskOrderingType
specifies how the Tasks or Process Instances selected by the view should be ordered. The TaskOrderingType object contains aList
ofOrderingClauseType
objects. OrderingClauseTypes can be added to the TaskOrderingType by calling the method TaskOrderingType.getClause().add(OrderingClauseType clause). Each OrderingClauseType specifies a single ordering clause, using the following properties:- sortOrder
String
Should beOrdering.ASCENDING_ORDER
orOrdering.DESCENDING_ORDER
. Default is ascending. - nullFirst
boolean
Should null values be listed first or last. - column
String
name of column to sort on. The column name should be the a column on the WFTASK table. A list of column names can be retrieved using the methodsITaskMetadataService.getTaskAttributes(oracle.bpel.services.workflow.verification.IWorkflowContext)
orITaskMetadataService.getTaskAttributesForTaskDefinition(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
.
- sortOrder
- grantees A
PrincipleListType
object containing aList
ofPrincipleRefType
objects identifying the users, groups or application roles that this Presentation has been shared with. Grantees get read-only access to the Presentation. - createdDate
Calendar
Date this Presentation was created. Automatically populated by UserMetadataService API. - createdDate
Calendar
Date this Presentation was last updated. Automatically populated by UserMetadataService API.
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.presentation
-PresentationType
object representing the presentation to create.- Returns:
- the created
PresentationType
, with API maintained properties populated. - Throws:
WorkflowException
- id A
-
updatePresentation
PresentationType updatePresentation(IWorkflowContext ctx, PresentationType presentation) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Update the definition of an existing Presentation. Only the owner of the Presentation or an admin can update it.For a description of the PresentationType object, refer to the documentation for the method
createPresentation(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.PresentationType)
- Parameters:
ctx
- ctx authenticatedIWorkflowContext
for user.presentation
- thePresentationType
to update.- Returns:
- the updated
PresentationType
, with API maintained properties updated. - Throws:
WorkflowException
-
deletePresentation
FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Deletes the specified Presentation. Only the owner of the Presentation, or an admin can delete it.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.presentationId
-String
unique identifier for the Presentation to be deleted.- Throws:
WorkflowException
-
getPresentation
PresentationType getPresentation(IWorkflowContext ctx, String presentationId) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Returns thePresentationType
object with the specified presentationId. Only the owner, a grantee, or an admin can query a PresentationType.For a description of the PresentationType object, refer to the documentation for the method
createPresentation(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.PresentationType)
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.presentationId
-String
unique identifier for the PresentationType being queried.- Returns:
PresentationType
mathcing the specified id.- Throws:
WorkflowException
-
listPresentations
List<PresentationType> listPresentations(IWorkflowContext ctx, IUserMetadataService.PresentationDataType presentationType, String owner) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Returns a List ofPresentationType
objects owned by the specified owner, and of the specified type (task or process).The IdentityService realm for the owner is assumed to be the same as the context user. Only an admin can call this method with an owner different to the context user.
If the owner parameter is left
null
, then the list of presentations owned by the context user is returned.If the presentation type parameter is left
null
, then the list of all presentations for the owner is returned regardless of typeThis method returns only Presentations owned by the specified user. To get Presentations granted to a user, the method
listGrantedPresentations(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.IUserMetadataService.PresentationDataType, oracle.bpel.services.workflow.common.model.PrincipleRefType, boolean)
should be used instead.For a description of the PresentationType object, refer to the documentation for the method
createPresentation(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.PresentationType)
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.presentationType
- a value from the enumIUserMetadataService.PresentationDataType
specifying the type of presentation to list. If no presentationType is specfied, then all types of view owned by the user will be listed.owner
-String
the owner of the Presentations to return. The owner's IdentityService realm is assumed to be the same as that as the context user. If no owner is specified, then the method will return a list of all Presentations owned by the context user.- Returns:
- a list of
PresentationType
objects. - Throws:
WorkflowException
-
listGrantedPresentations
List<PresentationType> listGrantedPresentations(IWorkflowContext ctx, IUserMetadataService.PresentationDataType presentationType, PrincipleRefType grantee, boolean directOnly) throws WorkflowException FOR FUTURE USE ONLY. This method is intended for use in the BPM product. Gets a list of PresentationType objects that are granted to the specified grantee (which may be a user, group or application role), and are of the specified type.If the presentation type parameter is left
null
, then the list of all presentations for the owner is returned regardless of typeIf no grantee is specified, then the method will use the context user as the grantee.
If
directOnly
istrue
, then only presentations granted directly to the grantee are listed. Otherwise, presentations granted directly to the grantee and presentations granted to any groups or application roles to which the grantee belongs are listed.Only an admin can query the presentations granted to another user. Only an admin, a group or application role owner, or a member of the group or application role can query presentations granted to a group or application role.
This method returns only PresentationType objects granted to the specified grantee (or context user). To get application data owned by a user, the method
listPresentations(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.IUserMetadataService.PresentationDataType, java.lang.String)
should be used instead.For a description of the PresentationType object, refer to the documentation for the method
createPresentation(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.user.model.PresentationType)
- Parameters:
ctx
- authenticatedIWorkflowContext
for user.presentationType
- a value from the enumerationIUserMetadataService.PresentationDataType
. Only presnetations of the specified type will be listed. Ifnull
then all presentations granted to the grantee, will be listed, regardless of type.grantee
-PrincipleRefType
describing the grantee (user, group or application role) to list the granted presentations for. Ifnull
, then the presentations granted to the context user will be listed instead.directOnly
- iftrue
, then only the presentations directly granted to the grantee will be listed. Otherwise, presentations granted to groups or application roles the grantee is a member of will also be listed.- Returns:
- a List of
PresentationType
objects. - Throws:
WorkflowException
-
listViewsUsingPresentation
List<ViewSummaryType> listViewsUsingPresentation(IWorkflowContext ctx, String presentationId) throws WorkflowException Returns a list ofViewSummaryType
objects that describe views which are using the specified presentation.For a description of the ViewSummaryType object, refer to the documentation for the method
getUserTaskViewList(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.common.model.Participant)
.- Parameters:
ctx
- authenticatedIWorkflowContext
for user.presentationId
-String
unique identifier for the presentation- Returns:
List
ofViewSummaryType
objects for views using the specified presentation.- Throws:
WorkflowException
-