|
Oracle Fusion Middleware Workflow Services Java API Reference for Oracle SOA Suite 11g Release 1 (11.1.1) E10660-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IRuntimeConfigService
The RuntimeConfigService is used to query and update metadata specific to the runtime operation of the Workflow Service. It is used for querying and setting flexfield mappings, for querying the what Dynamic Assignment Functions are available, and for querying and setting the URIs used to display task details.
An instance of IRuntimeConfigService can be created by calling IWorkflowServiceClient.getRuntimeConfigService()
. An instance of IWorkflowServiceClient
can be created using the WorkflowServiceClientFactory
.
All the RuntimeConfigService methods take IWorkflowContext
as their first parameter. The IWorkflowContext object allows the RuntimeConfigService 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(HttpServletRequest)
.
In most cases, any authenticated user can use the query methods, but only a user with specific privileges can use methods that update data.
Many of the parameters and return types of the methods are JAXB model objects from the package oracle.bpel.services.workflow.runtimeconfig.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.runtimeconfig.model.ObjectFactory
.
Method Summary | |
---|---|
void |
bulkUpdateApprovalGroup(IWorkflowContext wctx, ApprovalGroup ag) Bulk updates an approval group.To be used when bulk changes are made to the approval group content. |
void |
createApprovalGroup(IWorkflowContext wctx, ApprovalGroup ag) Creates an approval group This API is available only if Approval Management Extension is enabled |
AttributeLabel |
createAttributeLabel(IWorkflowContext ctx, AttributeLabelType label) Creates a new label for a Task flexfield attribute from the supplied AttributeLabel object. |
void |
createInGroup(IWorkflowContext wctx, java.lang.String approvalGroupName, ApprovalGroupMemberType approvalGroupMember) Create a member in approval group This API is available only if Approval Management Extension is enabled |
PayloadMapping |
createPayloadMapping(IWorkflowContext ctx, PayloadMappingType mapping) Creates a mapping between a specific task defintion, and a task flexfield attribute, using an attribute label. |
void |
deleteApprovalGroup(IWorkflowContext wctx, java.lang.String approvalGroupName) Deletes an approval group This API is available only if Approval Management Extension is enabled |
void |
deleteAttributeLabel(IWorkflowContext ctx, java.lang.String labelId) Deletes the attribute label with the suppled labelId. |
void |
deleteFromGroup(IWorkflowContext wctx, java.lang.String approvalGroupName, ApprovalGroupMemberType approvalGroupMember) Delete a member from approval group This API is available only if Approval Management Extension is enabled |
void |
deletePayloadMapping(IWorkflowContext ctx, PayloadMappingType mapping) Deletes the payload mapping described by the supplied PayloadMapping object. |
ApprovalGroup |
getApprovalGroup(IWorkflowContext wctx, java.lang.String approvalGroupName) Gets an approval group This API is available only if Approval Management Extension is enabled |
AttributeLabelUsageList |
getAttributeLabelUsages(IWorkflowContext ctx, java.lang.String attributeType) Gets a list of attribute labels and their usages by payload mappings. |
DynamicAssignFunctionList |
getGroupDynamicAssignmentFunctions(IWorkflowContext ctx) Gets the currently registered list of the dynamic assignment functions that select a group for assignment as a DynamicAssignFunctionList object. |
java.lang.String |
getJndiURLFromFabricConfig() Retrieves the server url from the fabric config manager |
java.lang.String |
getServerURLFromFabricConfig() Retrieves the server url from the fabric config manager |
TaskDisplayInfoList |
getTaskDisplayInfo(IWorkflowContext ctx, java.lang.String taskDefinitionId, java.lang.String taskDefinitionNamespace, java.lang.String applicationName) Retreives information relating to the URI to be used by cleint applications to display the task details for tasks of a particular type, in the form of a TaskDisplayInfoList object. |
TaskStatus |
getTaskStatus(IWorkflowContext ctx, java.lang.String taskDefinitionId, java.lang.String taskDefinitionNamespace, java.lang.String compositeInstanceId) Get the status of a task instance corresponding to a particular task definition and composite instance. |
DynamicAssignFunctionList |
getUserDynamicAssignmentFunctions(IWorkflowContext ctx) Gets the currently registered list of the dynamic assignment functions that select a user for assignment as a DynamicAssignFunctionList object. |
PayloadMappingsList |
getWorkflowPayloadMappings(IWorkflowContext ctx, java.lang.String workflowId) Gets a list of payload mappings that have been defined for the specified task type, in the form of a PayloadMappingsList object. |
ApprovalGroupNameList |
searchApprovalGroups(IWorkflowContext wctx, java.lang.String searchString, java.lang.String searchType, java.lang.String sortType) Fetches a list of matching approval group names This API is available only if Approval Management Extension is enabled |
void |
setTaskDisplayInfo(IWorkflowContext ctx, java.lang.String taskDefinitionId, java.lang.String taskDefinitionNamespace, TaskDisplayInfoList taskDisplayInfo) Sets information relating to the URI to be used by cleint applications to display the task details for tasks of a particular type, in the form of a TaskDisplayInfoList object. |
void |
updateApprovalGroup(IWorkflowContext wctx, ApprovalGroup ag) Updates an approval group This API is available only if Approval Management Extension is enabled |
AttributeLabel |
updateAttributeLabel(IWorkflowContext ctx, AttributeLabelType label) Updates an existing attribute label using the supplied AttributeLabel object. |
void |
updateInGroup(IWorkflowContext wctx, java.lang.String approvalGroupName, ApprovalGroupMemberType approvalGroupMember) Update a member in approval group This API is available only if Approval Management Extension is enabled |
Method Detail |
---|
PayloadMappingsList getWorkflowPayloadMappings(IWorkflowContext ctx, java.lang.String workflowId) throws WorkflowException
PayloadMappingsList
object. A payload mapping defines a mapping between Tasks of a particular type and a flexfield attribute column on the WFTASK table (such as TextAttribute1), via an AttributeLabel
. The mapping may also specify how the value of the flexfield attribute should be determined, either via an xpath expression or by specfifying a payload attribute. The PayloadMappingsList
contains a List
of PayloadMappingType
objects. See createPayloadMapping(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.runtimeconfig.model.PayloadMappingType)
for a complete description of the PayloadMappingType object.ctx
- an authenticated IWorkflowContext
workflowId
- String
the TaskDefinitionId of the task type to query mappings for.PayloadMappingsList
contains a List
of PayloadMapping
objects.WorkflowException
- if some error condition occurs.AttributeLabel createAttributeLabel(IWorkflowContext ctx, AttributeLabelType label) throws WorkflowException
AttributeLabel
object. Only users with the workflow.mapping.publicFlexField privilege can create attribute labels, and only users with the workflow.mapping.protectedFlexField privilege can create attribute labels for protected flexfields. An AttributeLabel is associated with a particular Task
flexfield. (Flexfield columns are the general purpose columns named TextAttribute1...20, NumberAttribute1...10, DateAttribute1...10, ProtectedTextAttribute1...20 and so on). An AttributeLabel allows a more meaningful name to be assigned to a flexfield column (for example, a label named "CustomerName" is more meaningful than "TextAttribute1"). PayloadMappings
map task payload attributes to AttributeLabels - a single AttributeLabel can be associated with more than one PayloadMapping. This allows payload attributes from different tasks that share the same semantic meaning to be mapped to a common label. For example, a number of task types may contain payload attributes that contain a customer name - all of them can be mapped to a single "CustomerName" label.
The label name can be used when displaying mapped flexfield columns for tasks of a particular type or types. The method ITaskMetadataService.getTaskAttributesForTaskDefinition(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String)
will return a list of task attributes including any flexfield attributes that have been mapped for that task defintion. The flexfield attributes in the list will have a display name derived from the appropriate AttributeLabel name. It is possible to provide internationalization support for AttributeLabel names, by adding entries to the WorkflowLabels.properties file. See the Workflow Services chapter of the BPEL Process Manager Developer's Guide for more details.
String
Unique identifier for AttributeLabel. Automatically populated by API during create operation.String
The type of flexfield column this label is for. Automatically maintained by API, will be populated with one of the following values after create operation:
String
The name for the label.String
The name of the flexfield attribute column the label is for. Should be one of the following values:
IWorkflowConstants.WF_TYPE
by API.Calendar
Date attribute label was created. Automatically maintained by API.ctx
- an authenticated IWorkflowContext
label
- AttributeLabelType
object defining attribute label to create.AttributeLabel
, with API maintained properties populated.WorkflowException
- if a non-admin user attempts to create an attribute label, or some other error condition occurs.AttributeLabel updateAttributeLabel(IWorkflowContext ctx, AttributeLabelType label) throws WorkflowException
AttributeLabel
object. Only users with the workflow.mapping.publicFlexField privilege can update attribute labels, and only users with the workflow.mapping.protectedFlexField privilege can update attribute labels for protected flexfields. See createAttributeLabel(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.runtimeconfig.model.AttributeLabelType)
for a description ofthe AttributeLabel object.ctx
- an authenticated IWorkflowContext
label
- AttributeLabelType
to update.AttributeLabel
.WorkflowException
- if a non-admin user attempts to update an attribute label, or some other error condition occurs.void deleteAttributeLabel(IWorkflowContext ctx, java.lang.String labelId) throws WorkflowException
ctx
- an authenticated IWorkflowContext
labelId
- String
unique identifier for attribute label.WorkflowException
- if a non-admin user attempts to delete an attribute label, or some other error condition occurs.AttributeLabelUsageList getAttributeLabelUsages(IWorkflowContext ctx, java.lang.String attributeType) throws WorkflowException
AttributeLabelUsageList
object contains a List
of LabelUsages
objects. Each LabelUsages contains information about a particular label, and all its usages in payload mappings. A LabelUsages object contains the following properties:
AttributeLabelType
describing the attribute label. See createAttributeLabel(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.runtimeconfig.model.AttributeLabelType)
for a description.List
of LabelUsageType
objects. Each LabelUsageType
object describes a usage of the attribute label in a payload mapping, and has the following properties:
String
TaskDefinitionId of the task definition whose payload is being mapped.String
name of the task definition whose payload is being mappied.String
name of the payload attribute being mapped (if any). The payload attribute must be a simple type. To select a mapped value from a complex payload attribute, an xpath expression should be used instead.XpathType
object describing the xpath expression (if any) used to select a value from the Task instance. The xpath expression must evaluate to a simple type. Xpath expressions are typically used to select a value from a complex payload attribute, but any valid xpath expression can be used (for example, an xpath function could be invoked). The XpathType object has the following properties:
String
the xpath expression used to select the value, from within a task instance. For example: /task:task/task:payload/ord:order/ord:item/ord:itemName
List
of XpathType.NamespaceType
objects that describe the namespace prefixes used in the xpath expression, and the namespace URIs they correspond to. Each NamespaceType object has the following properties:
String
the prefix, for example ord
String
the namespace URI, for example http://acme.com/xml/order
Calendar
date the mapping was created.ctx
- an authenticated IWorkflowContext
.attributeType
- String
null if all attributes are required, otherwise, which type of attributes should be queried.AttributeLabelUsageList
containing list of attribute labels and their usages in payload mappings.WorkflowException
- if some error condition occurs.PayloadMapping createPayloadMapping(IWorkflowContext ctx, PayloadMappingType mapping) throws WorkflowException
Note that mappings to protected flexfield attribute labels cannot be created using this API. Such mappings can only be defined in a task definition, and are created during deployment of the task component.
A payload mapping can define a mapping between a value in a task's payload and a flexfield attribute column on the WFTASK table (such as TextAttribute1). This mapping can be specified either as the name of a payload attribute, or as an xpath expression. When payload mapping exists for a particular Task type, the value of the Task payload attribute or xpath expression is written to the mapped flexfield column, allowing queries, views and rules to be defined using the mapped value.
If no payload attribute or xpath expression is specified, then the mapping is for labelling purposes only. It is up to workflow service clients to manually populate the appropriate flexfield attribute on the Task object (e.g. textAttribute1). The label specified in the mapping can still be used in queries etc., however.
Payload mappings are actually made between the a task type and an AttributeLabel
. An AttributeLabel allows a more meaningful name to be assigned to a flexfield column, and allows different task types to map payload attributes to a common label.
If a payload attribute is being mapped, it must be a simple type (for example, xsd:string
. In order to map to values inside a payload attribute that is a complex type, an xpath expression is required instead.
The mapping to be created is defined by the PayloadMappingType
object supplied to the method. The attribute label being mapped to must already exist before creating the mapping. PayloadMappingType has the following properties:
String
the TaskDefintionId of the task type the mapping is being created for.AttributeLabelType
the attribute label being mapped to. Must already exist. See createAttributeLabel(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.runtimeconfig.model.AttributeLabelType)
for a description. When creating (or deleting) a payload mapping, only the id property needs to be set on the AttributeLabelType object.String
the name of the payload attribute that specifies the value that will be used to populate the flexfield column. This is optional, and the payload attribute must be a simple type.XpathType
object describing the xpath expression (if any) used to select a value from the Task instance. The xpath expression must evaluate to a simple type. Xpath expressions are typically used to select a value from a complex payload attribute, but any valid xpath expression can be used (for example, an xpath function could be invoked). The XpathType object has the following properties:
String
the xpath expression used to select the value, from within a task instance. For example: /task:task/task:payload/ord:order/ord:item/ord:itemName
List
of XpathType.NamespaceType
objects that describe the namespace prefixes used in the xpath expression, and the namespace URIs they correspond to. Each NamespaceType object has the following properties:
String
the prefix, for example ord
String
the namespace URI, for example http://acme.com/xml/order
ctx
- an authenticated IWorkflowContext
.mapping
- PayloadMapping
object describing the mapping to create.WorkflowException
- if a non-admin user attempts to create a payload mapping, or some other error condition occurs.void deletePayloadMapping(IWorkflowContext ctx, PayloadMappingType mapping) throws WorkflowException
PayloadMapping
object. Only users with the workflow.mapping.publicFlexField or workflow.mapping.protectedFlexField privilege can delete a payload mapping. Note that mappings to protected flexfields cannot be deleted via this API - such mappings are specified in the task definitionat design time and are deleted only when the task component is undeployed. See createPayloadMapping(oracle.bpel.services.workflow.verification.IWorkflowContext, oracle.bpel.services.workflow.runtimeconfig.model.PayloadMappingType)
for a description of the PayloadMapping object.ctx
- an authenticated IWorkflowContext
.mapping
- PayloadMapping
object describing the mapping to delete.WorkflowException
- if a non-admin user attempts to delete a payload mapping, or some other error condition occurs.DynamicAssignFunctionList getUserDynamicAssignmentFunctions(IWorkflowContext ctx) throws WorkflowException
DynamicAssignFunctionList
object. DynamicAssignFunctionList contains a List
of DynamicAssignFunctionType
objects.
DynamicAssignFunctionType has the following properties:
String
name of dynamic assignment function.String
human-readable label for dynamic assignment function. This label is looked up in the WorkflowLabels.properties resource bundle, using a key of the form DYN_ASSIGN_FN.<name>. The Locale to use when looking up the string is determined from the supplied IWorkflowContext. If no resource string is located in the resource bundle, the dynamic assignment function name is used as the label.ctx
- an authenticated IWorkflowContext
. used to determine appropraite Locale for user-readable labels.DynamicAssignFunctionList
contains a List
of DynamicAssignFunctionType
objects.WorkflowException
- if somem error condition occurs.DynamicAssignFunctionList getGroupDynamicAssignmentFunctions(IWorkflowContext ctx) throws WorkflowException
DynamicAssignFunctionList
object. DynamicAssignFunctionList contains a List
of DynamicAssignFunctionType
objects.
DynamicAssignFunctionType has the following properties:
String
name of dynamic assignment function.String
human-readable label for dynamic assignment function. This label is looked up in the WorkflowLabels.properties resource bundle, using a key of the form DYN_ASSIGN_FN.<name>. The Locale to use when looking up the string is determined from the supplied IWorkflowContext. If no resource string is located in the resource bundle, the dynamic assignment function name is used as the label.ctx
- an authenticated IWorkflowContext
. used to determine appropraite Locale for user-readable labels.DynamicAssignFunctionList
contains a List
of DynamicAssignFunctionType
objects.WorkflowException
- if somem error condition occurs.TaskDisplayInfoList getTaskDisplayInfo(IWorkflowContext ctx, java.lang.String taskDefinitionId, java.lang.String taskDefinitionNamespace, java.lang.String applicationName) throws WorkflowException
TaskDisplayInfoList
object. The task type must be specified by either taskDefinitionNamespace or taskDefinitionId. The method can retreive either the task display information for all applications (by passing a null value to the applicationName parameter), or for a specific application (by passing the application name to the applicationName parameter).
The TaskDisplayInfoList object contains a List
of TaskDisplayInfoType
objects. The properties of TaskDisplayInfoType} are:
String
The application name this display info corresponds to. Different client applications may choose to display task details differently. The worklist application that ships with the product uses the applicationName "worklist".String
the uri to the task display page.String
the name of the host that hosts the task display page.String
the port number for http requests to the host.String
the port number for https requests to the host.ctx
- an authenticated IWorkflowContext
.taskDefinitionId
- String
the unique identifier for the task type to query task display info for.taskDefinitionNamespace
- String
namespace that identifies the task type to query task display info for.applicationName
- String
the name of the client application to query task display info for. If null
, then task display info for all applications is returned.TaskDisplayInfoList
object contains a List
of TaskDisplayInfoType
objects.WorkflowException
- if some error condition occurs.void setTaskDisplayInfo(IWorkflowContext ctx, java.lang.String taskDefinitionId, java.lang.String taskDefinitionNamespace, TaskDisplayInfoList taskDisplayInfo) throws WorkflowException
TaskDisplayInfoList
object. Only a user with the workflow.admin privilege may set the task display information. The task type must be specified by either taskDefinitionNamespace or taskDefinitionId.
The TaskDisplayInfoList object contains a List
of TaskDisplayInfoType
objects. The properties of TaskDisplayInfoType are:
String
The application name this display info corresponds to. Different client applications may choose to display task details differently. The worklist application that ships with the product uses the applicationName "worklist".String
the uri to the task display page.String
the name of the host that hosts the task display page.String
the port number for http requests to the host.String
the port number for https requests to the host.ctx
- an authenticated IWorkflowContext
.taskDefinitionId
- String
the unique identifier for the task type to set task display info for.taskDefinitionNamespace
- String
namespace that identifies the task type to set task display info for.taskDisplayInfo
- TaskDisplayInfoList
object contains a List
of TaskDisplayInfoType
objects.WorkflowException
- if non-admin user attempts to set task display info, or some other error condition occurs.TaskStatus getTaskStatus(IWorkflowContext ctx, java.lang.String taskDefinitionId, java.lang.String taskDefinitionNamespace, java.lang.String compositeInstanceId) throws WorkflowException
TaskStatus
object that has the following parameters:
String
the status of the task instance.String
unique identifier for the task instance.ctx
- an authenticated IWorkflowContext
.taskDefinitionId
- String
the unique identifier for the task type to get task status info for.taskDefinitionNamespace
- String
namespace that identifies the task type to get task status info for.compositeInstanceId
- a String
the unique identifier for the composite instance.TaskStatus
object.WorkflowException
- if some error condition occurs.void createApprovalGroup(IWorkflowContext wctx, ApprovalGroup ag) throws WorkflowException
wctx
- an authenticated IWorkflowContext
ag
- an approval group ApprovalGroup
WorkflowException
- in case of errorvoid updateApprovalGroup(IWorkflowContext wctx, ApprovalGroup ag) throws WorkflowException
wctx
- an authenticated IWorkflowContext
ag
- an approval group ApprovalGroup
WorkflowException
- in case of errorvoid bulkUpdateApprovalGroup(IWorkflowContext wctx, ApprovalGroup ag) throws WorkflowException
wctx
- an authenticated IWorkflowContext
ag
- an approval group ApprovalGroup
WorkflowException
- in case of errorApprovalGroup getApprovalGroup(IWorkflowContext wctx, java.lang.String approvalGroupName) throws WorkflowException
wctx
- an authenticated IWorkflowContext
approvalGroupName
- internal name of the groupWorkflowException
- in case of errorvoid deleteApprovalGroup(IWorkflowContext wctx, java.lang.String approvalGroupName) throws WorkflowException
wctx
- an authenticated IWorkflowContext
approvalGroupName
- internal Name of the GroupWorkflowException
- in case of errorvoid createInGroup(IWorkflowContext wctx, java.lang.String approvalGroupName, ApprovalGroupMemberType approvalGroupMember) throws WorkflowException
wctx
- an authenticated IWorkflowContext
approvalGroupName
- internal Name of the GroupapprovalGroupMember
- ApprovalGroupMemberType object ApprovalGroupMemberType
WorkflowException
void updateInGroup(IWorkflowContext wctx, java.lang.String approvalGroupName, ApprovalGroupMemberType approvalGroupMember) throws WorkflowException
wctx
- an authenticated IWorkflowContext
approvalGroupMember
- ApprovalGroupMemberType object ApprovalGroupMemberType
WorkflowException
void deleteFromGroup(IWorkflowContext wctx, java.lang.String approvalGroupName, ApprovalGroupMemberType approvalGroupMember) throws WorkflowException
wctx
- an authenticated IWorkflowContext
approvalGroupName
- internal Name of the GroupapprovalGroupMember
- ApprovalGroupMemberType object ApprovalGroupMemberType
WorkflowException
ApprovalGroupNameList searchApprovalGroups(IWorkflowContext wctx, java.lang.String searchString, java.lang.String searchType, java.lang.String sortType) throws WorkflowException
wctx
- an authenticated IWorkflowContext
searchString
- String for the search. Can contain wild card characters.searchType
- GROUP or USER. If GROUP, it should return all the groups for the search string. If USER, it should return all the groups in which that user (the search string) is present. By default this parameter is set to GROUP.sortType
- ASC, DSC or null. If ASC, it should return the groups sorted in ascending order of name. If DSC, it should return the groups in descending order of name. If null, it should return the groups in the order they were created.WorkflowException
java.lang.String getServerURLFromFabricConfig() throws WorkflowException
WorkflowException
- in case of errorjava.lang.String getJndiURLFromFabricConfig() throws WorkflowException
WorkflowException
- in case of error
|
Oracle Fusion Middleware Workflow Services Java API Reference for Oracle SOA Suite 11g Release 1 (11.1.1) E10660-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |