The workflow Callout BIC provides a standard method of implementing and configuring processing within an EPX workflow. The Callout BIC allows the data modeler to specify the fully qualified path for a Java class that implements the Callout BIC interface. Once the class has been specified, the Callout BIC presents the user with a form containing the following information:
- Detailed description of what processing the class performs.
- List of input parameters including descriptions (as tool tips on the parameter names) for each with a corresponding input field to specify the value for each parameter. The value can be literal text or numeric, a reference to a work item property, or the combination of both. For example, if the class includes a property named "resultsLogfile" with a description "Fully-qualified name of the file to be generated" and a work item property "baseDirectory" defines the directory where the file is to be placed, the value for the property might be set to: "%baseDirectory%/MyResultsFile.txt" (without the quotes). If a parameter is required, it will include an asterisk at the end of the parameter name. If a parameter has a default value defined, it will populate the field any time the field is cleared.
- List of output parameters with descriptions (as tool tips on the parameter names) with the option to override the property names.
When a Callout BIC class is entered in the Settings tab, it will display the detailed description for the class along with the list of input and output properties for the class and detailed descriptions for each. The example form below shows a possible Callout BIC Class that would be used to ensure the record associated to the work item has the appropriate images (by context) linked to it (the shaded cells are input fields in the form):
Processing Class: | com.enterworks.services.callout.ValidateLinkedImages | |
Description: | Verifies the repository record has at least the specified minimum but no more the maximum specified linked image for each specified Context. Up to 5 image contexts can be defined | |
Input Parameters | ||
Property | Value | (Tool Tip) |
imageContext1 | Main | Identifies the Image Context name for context 1 |
minImageCount1 | 1 | Identifies the minimum number of images that must be linked for imageContext1. The default value is 1. |
maxImageCount1 | 1 | Identifies the maximum number of images that can be linked for image Context1. The default value is 1. |
imageContext2 | Logo | Identifies the Image Context name for context 2 |
minImageCount2 | 1 | Identifies the minimum number of images that must be linked for imageContext2. The default value is 1. |
maxImageCount2 | 3 | Identifies the maximum number of images that can be linked for image Context2. The default value is 1. |
… | ||
imageContext5 | Identifies the Image Context name for context 5 | |
minImageCount5 | Identifies the minimum number of images that must be linked for imageContext5. The default value is 1. | |
maxImageCount5 | Identifies the maximum number of images that can be linked for image Context5. The default value is 1. | |
Output Parameters | ||
Property | Override Property | (Tool Tip) |
isValid | Set to Yes if the required image contexts are linked, otherwise set to No | |
errorMessage | linkedImageErrors | Detailed error message if the record is missing required linked images |
When executed, the input parameters are passed to the designated class along with standard parameters (e.g., work item id, repository ID or saved set ID, etc.). The class returns true if the operation was successful or false if it failed (the reason for failure will be returned as a text message). The Callout BIC class also creates or updates the output parameters with the results of the processing. If the processing failed, a BIC Exception will be thrown using the error message returned by the class. It is up to the EPX workflow to either handle the error (with the Callout BIC Send work item on error enabled) or to leave the work item stuck at the activity with an error.
The following is a screen shot of the SendEmail Callout BIC Settings tab:
The base class for the Callout BIC class will have a library of support methods which greatly reduces the actual amount of code the implementation requires.
A set of basic function BIC Callout classes will be available as part of the framework, with the expectation that new generic classes will be added as new workflows are implemented. The general-applicability classes will be defined in the Services framework. Project-specific classes will be defined within the code base for the project. While these classes may not have general applicability, they may have re-use potential within other workflows for the same project (or customer).