Interface ProcessDesignService
- All Superinterfaces:
ContextSensitiveSingletonService,Service
ProcessDesignService is used for creating and modifying
ProcessModel which are organized by storing them in
ProcessModelFolder objects. It also contains methods for
handling the security of these objects. It mainly deals with the design of
Process Models whereas the ProcessExecutionService deals with all
aspects of starting and maintaining instances of a ProcessModel
(Process).
A ProcessModelFolder can be created and modified with this
service. Process models are organized into folders in the process model
pickers.
ProcessModel objects created by this service can be run
using the ProcessExecutionService.
When a ProcessModel is being designed it is considered a draft.
When a designer is satisfied with their design he or she may save the
ProcessModel using updateProcessModel(ProcessModel)
and create a new version using versionProcessModel(ProcessModel).
When a ProcessModel is first versioned it is given the version
"1.0" and all subsequent versions are incremented by 1.0. Versions of a
ProcessModel cannot be run until they are published, and
a ProcessModel version cannot be published unless it is valid.
A ProcessModel can be validated using the
validateProcessModel(ProcessModel) method.
A ProcessModel can be locked by a user so that no other
users can edit the ProcessModel. However, a User
can attempt to override the lock placed on a ProcessModel by
another User by calling lockProcessModel(Long,boolean)
or unlockProcessModel(Long,boolean) and setting the override
boolean to true.
In addition to regular ProcessNode objects a
ProcessModel can contain other ProcessModel
objects through sub and linked processes.
A sub-process is a node which contains a ProcessModel. This
node is considered a single node by the parent ProcessModel.
When a sub-process node is reached during process execution the sub-process
is started and the sub-process node is considered active. The node does not
complete until the sub-process has completed.
A linked-process is a node which starts an instance of a
ProcessModel. Once the linked-process has been started the
linked-process node is considered complete by the parent
Process.
As mentioned above, this service contains methods relating to the security
and permissions of various objects. The permissions which can be obtained
through this service include: getPermissionsForFolder(Long),
#getPermissionsForPalette(Long),
getPermissionsForProcessApplication(), and
getPermissionsForProcessModel(Long). These methods should be used
when determining which actions a User can perform on the
corresponding object. Permissions are obtained through
ProcessModelPermissions. These may be referenced to determine
whether a user has sufficient privileges to perform a particular action.
Methods of service classes can all throw the unchecked exception
ServiceException if any
system-level error (for example, server failure) occurs, and will in general
throw a checked exception (InvalidXXXException) when an entity
to be retrieved is inaccessible, instead of returning null.
Exceptions to this paradigm (including the use of ResultList as
described below) are noted. All checked exceptions extend
AppianException.
It may be necessary to retrieve a subset of results as opposed to an entire
collection, and also to sort the subset by some property of the returned
object. "Paging" methods which return a
ResultPage are provided in certain
instances for this purpose. The ResultPage will contain the
sorted subset of results
(via Result.getResults()), and the
total number of items in the available result set
(via ResultPage.getAvailableItems()).
It may also be necessary to retrieve some results, even if all results
cannot be retrieved (for instance, some of the entities corresponding
to a list of entity IDs may no longer exist). Methods which return a
ResultList are provided for this
purpose. The Result.getResults()
method in this case will return all results which can be retrieved. In
addition, there will be a list of result codes
(ResultList.getResultCodes()) that
represent the successful retrieval of an entity, or, if the entity could
not be retrieved, the reason for the failure. See the CODE_XXX
constants in ResultList for details.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final intAll possible sub-process statesstatic final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final intIndicates that there is no recursion in the process model, the subprocess model, or between the process model and sub-process modelstatic final intSub-process is embedded in the parent processstatic final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final intSub-process is independent of the parent processstatic final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final intIndicates that the parent process model recurses (including the situation where the parent recurses through addition of the sub-process model)static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final intIndicates that any sub-process of the parent process recursesstatic final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final IntegerGet unpublished children failed because the process model specified did not existstatic final IntegerGet unpublished children failed because the process model specified did not existstatic final IntegerGet unpublished children failed because the user did not have publish permissionsstatic final IntegerGet unpublished children failed because the user did not have view permissionsstatic final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.static final booleanDeprecated, for removal: This API element is subject to removal in a future version.Fields inherited from interface com.appiancorp.services.ContextSensitiveSingletonService
CONFIGURE_METHOD_NAME -
Method Summary
Modifier and TypeMethodDescriptionvoidactivateUserSession(Long[] membership, Long[] administration, Long userTypeId, String username) Notifies the Process application that a new session has been created for the current user, and provides information about the current user's membership and administration rights to groups.voidaddProcessModelToFavorites(Long modelId) Deprecated.favorites marking is deprecatedvoidDeprecated.voidcreateBusinessEntity(BusinessEntity business) Creates aBusinessEntityfor use with Web Services.createFolder(ProcessModelFolder folder) Creates a folder for storing process models.Creates aProcessModelin the database using the input parameter.voidCreate aProcessModelWebService.voiddeleteFolder(Long folderId) Deletes aProcessModelFolderdeleteFolders(Long[] folders) Deletes a list of foldersvoiddeleteProcessModel(Long processModelId_) Deletes a process model.voiddeleteProcessModels(Long[] processModelIds_) Deletes multipleProcessModelobjects.deleteProcessModelVersion(Long processModelId, String version) Deletes a version of aProcessModel.voiddeleteProcessModelWebService(String serviceName) Deletes aProcessModelWebServicebased on the service name which it contains.voiddisableProcessModel(Long processModelId, String version) Disables a version of aProcessModel.voidenableProcessModel(Long processModelId, String version) Enables aProcessModelversion.evaluateExpression(String expression) Evaluate the given expression (including java expression functions).evaluateExpression(String expression, NamedTypedValue[] variableValues) Evaluate the given expression (including java expression functions).evaluateExpressionInVariableContext(String expression, NamedTypedValue[] typedVariables, NamedTypedValue[] continueParams) exportProcessModel(Long processModelId) Retrieve a working draft of aProcessModel.exportProcessModelVersion(Long processModelId, String version) Retrieves a version of aProcessModel.externalizeExpression(String expression, String... parameterNames) Replaces rule names with UUIDs within the given expression.findEventsPaging(String searchString, Long pmId, Long[] eventTypes, Boolean includeStartEvents, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Searches for Events associated with the given Process Model that match the specified searchString.getACInstanceIdsForLocalIds(String[] localIds) Returns aResultListcontaining the actual Id's in database corresponding to given localId's ofActivityClassgetACPInstanceIdsForLocalIds(Long activityClassLocalId, String[] localIds) Returns aResultListcontaining the actual Id's in database forActivityClassParametercorresponding to given aActivityClasslocalId andActivityClassParameterlocalId's.getACSchemaByLocalId(String acsLocalId) Retrieves anActivityClassSchemaby local id.getActivityClassSchema(Long acsId) Retrieves anActivityClassSchema.Identity[]getActivityClassSchemas(Long[] acsIds) Retrieves a list of abbreviatedActivityClassSchemarepresentations for the given IDsRetrieves the activity class schemas for the activity classes that operate on the assignee pool.Retrieves the activity class schemas for the activity classes that operate on the assignment pool.getAsynchronousSubProcessModelDescriptorsForProcessModel(Long processModelId) Retrieve a list of process model descriptors that represent the working drafts of all linked process models for the given process model.Retrieves theBusinessEntitywhich has been created on the system.getChildFolders(Long folderId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Gets all the direct child folders of a process model folderintgetCountProcessModelParametersForVersion(Long processModelId, String version) Retrieves count of all of the process variables that are required to start an instance of the given process model version (ie.String[]Deprecated.since 23.2getDashboardPageForProcessModel(Long processModelId) Returns the dashboard Id that is used for theProcessModelby givenprocessModelId_Retrieves the defaultPriorityfor the system.Returns the Id of the folder where attachments will be stored when an email message is sent to either theProcessModelor any event within theProcessModelRetrieves the activity class schemas for activities that can be used as escalations.String[]getEventOrProcessModelNames(Long[] pmIds, String[] eventPersistentIds) Returns the display names of processModels and Events for the providedProcessModelIds and Event IdsgetEventsByPersistentId(String[] eventPersistentIds) Returns a ResultList containing Events that correspond to the passed in array of Event persistent IDs.getEventsForProcessModelPaging(Long pmId, Long[] eventTypes, Boolean includeStartEvents, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Returns the Events for a givenProcessModelspecified byeventTypes_.getExpressionDependencies(String[] expression, String[] parameterNames) Returns an array of theExpressionDependencyobjects for the given expressions.getExpressionDependencies(String expressionText, String... parameterNames) Returns the expression dependencies for the givenexpressionText.Retrieves aProcessModelFolder.getFolders(Long[] folderIds) Retrieves multiple process model foldersgetFormConfig(Long processModelId) Retrieves theFormConfigof the draft of the given process model.getFormConfigForVersion(Long processModelId, String version) Retrieves theFormConfigof the given process model version.getLingeringTasksForProcessModel(Long processModelId, boolean recursive, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Returns all instances of lingering nodes in the specified process.getLinkProcessModelDescriptorsForProcessModel(Long processModelId) Deprecated.intReturns the maximum number of attachments that can be added to a process model or process node.intDeprecated.since 23.2RetrievesProcessModelobjects for which the current user is an owner.getParentsForProcessModel(Long processModelId) Retrieves the working drafts of the parents of aProcessModel.getParentsOfUnpublishedChildrenForProcessModel(Long processModelId) Returns the working drafts of the parents of the unpublished children (sub process models) of aProcessModel.getPermissionsForFolder(Long folderId) RetrievesProcessModelFolderPermissionsfor aProcessModelFoldergetPermissionsForFolders(Long[] folderIds) RetrievesProcessModelFolderPermissionsobjects for multipleProcessModelFolderobjects.Retrieves permissions on the Process application for the current userRetrieves permissions on a process model for the current user.Retrieves permissions on multiple process models objects for the current user.getPmIdForEvent(String eventPersistentId) Returns the ID of theProcessModelthat the Event by giveneventPersistentIdbelongs to.getPriority(Long priorityId) Retrieves aPrioritygetPriorityOfProcessModel(Long processModelId) Retrieves the priority for aProcessModel.getProcessDashboardPageForProcessModel(Long processModelId) Returns the dashboard Id that is used for all processes spawned from theProcessModelby givenprocessModelId_getProcessModel(Long processModelId) Retrieve a working draft of aProcessModel.getProcessModelByUuid(String uuid) Retrieves the working draft of theProcessModelspecified by a UUID (Universal Unique Identifier).getProcessModelDescriptor(Long processModelId) Retrieves a process model descriptor representing the working draft of a process model.getProcessModelDescriptors(Long[] pmIds) Retrieves multiple process model descriptors, representing the working drafts of the given process modelsgetProcessModelDescriptorsContainingAsynchronousSubProcessModel(Long linkProcessModelId) Retrieves process model descriptors representing the working drafts of the process models that contain the given linked process modelgetProcessModelDescriptorsContainingLinkProcessModel(Long linkProcessModelId) Deprecated.getProcessModelDescriptorsContainingSubProcessModel(Long subProcessModelId) Deprecated.getProcessModelDescriptorsContainingSynchronousSubProcessModel(Long subProcessModelId) Retrieves process model descriptors representing the working drafts of the process models that contain the given process model as a sub-process modelgetProcessModelDetails(Long processModelId) RetrievesProcessModelDetailsrepresenting the working drafts of the givenProcessModelIf only requiring FormConfig, seegetFormConfigin this class.Retrieves the ID of aProcessModelby a UUID (Universal Unique Identifier).Long[]getProcessModelIdsByUuids(String[] pmUUIDs) Returns the IDs of ProcessModels that match the given UUID.getProcessModelLatestPublishedVersion(Long processModelId) Retrieve the latest published version of aProcessModelor the working draft if a published version does not exist.getProcessModelLatestPublishedVersionDescriptor(Long processModelId) Retrieve the latest published version of aProcessModel.Descriptoror the working draft if a published version does not exist.getProcessModelParameters(Long processModelId) Retrieves all of the process variables that are required to start an instance of the given process model (ie.getProcessModelParametersForVersion(Long processModelId, String version) Retrieves all of the process variables that are required to start an instance of the given process model version (ie.getProcessModelProperties(Long modelId) Retrieves theProcessModelPropertiesrepresenting the working draft of aProcessModel.getProcessModels(Long[] ids) Deprecated.UsegetProcessModelDescriptors(Long[])or callgetProcessModel(Long)iteratively instead.Retrieves multipleProcessModelobjects as well as the subProcessModelobjects which they contain.getProcessModelsForFolder(Long folderId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Retrieve process model descriptors representing the working drafts of the process models directly in a process model foldergetProcessModelsForFolderStartableOnly(Long folderId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Retrieve descriptors representing the working drafts of the startable process models directly in a process model folder.getProcessModelsForGroup(Long groupId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Deprecated.Process models are no longer associated with groups, but rather are organized into folders.Retrieves process model descriptors which represent the working drafts of the process models that the current user has permission to startRetrieves multiple process model descriptors, representing the latest published version or a draft if there is no publish version.getProcessModelVersion(Long processModelId, String version) Retrieves a version of aProcessModel.getProcessModelVersionDescriptor(Long processModelId, String version) Retrieves the process model descriptor for a version of aProcessModel.getProcessModelWebServices(int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Retrieves allProcessModelWebServiceobjects on the server.getProcessStartingInfo(String serviceName) Retrieves theProcessStartingInfofor a service.getProcessVariablesForModel(Long pmId, boolean recursive) Returns the list of all process variables in a given process model.getProcessVariablesForModel(String uuid, boolean recursive) Returns the list of all process variables in a given process model.intgetRecursiveRelationship(Long processModelId, Long subProcessModelId) Return the status of the two process models' recursive relationshipLong[]getRuleIdReferences(Long pmId) Gets all the rule ids that the expressions within the process model withpmIdid contain, including nested rules referenced by all the expressions.String[]Gets all the rule UUID references that the expressions within the process model bean (pm) contain.getSecurityForFolder(Long folderId) Gets the security for a process model folderGets the security settings of the Process ApplicationGets the security settings of a process modelgetSubProcessModelDescriptorsForProcessModel(Long processModelId) Deprecated.getSynchronousSubProcessModelDescriptorsForProcessModel(Long processModelId) Gets a ResultList containing process model descriptors representing the working drafts of the sub-process models of the given process modelgetTopLevelFolders(int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Returns the top level folders in the process application that the current user can see.getTopLevelProcessModelDescriptorsForAsynchronousSubProcessModel(Long linkProcessModelId) Gets aResultListcontaining process model descriptors that represent the working drafts of all parent process models for the given linked process modelgetTopLevelProcessModelDescriptorsForLinkProcessModel(Long linkProcessModelId) Deprecated.getTopLevelProcessModelDescriptorsForSubProcessModel(Long subProcessModelId) Deprecated.getTopLevelProcessModelDescriptorsForSynchronousSubProcessModel(Long subProcessModelId) Gets a ResultList containing process model descriptors that represent the working drafts of the top level process models of the given sub-process modelgetUnpublishedChildrenForProcessModel(Long processModelId) Returns the working draft of the unpublished children (sub process models) of the given process modelgetVersionsForProcessModel(Long processModelId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Gets the versions for a process modelgetVisibleProcessVariables(Long processModelId) Retrieves all visible process variables associated with the given process model, or the process variables that are reportable through analytics and can be mapped in a subprocess relationshipgetVisibleProcessVariablesForVersion(Long processModelId, String version) Retrieves all visible process variables associated with the given process model version, or the process variables that are reportable through analytics and can be mapped in a subprocess relationshipint[]handleMessages(InternalMessage[] messages) Sends the messages to the design server to be handled by the Events framework, and returns appropriate result codes.initiateProcess(Long processModelId, ProcessStartConfig config) Starts an instance of the given process model.internalizeExpression(String expression) Replaces UUIDs with rule names within the given expression.booleanisProcessModelLocked(Long processModelId) Determines whether a process model is lockedisStartFormCapable(Long[] processModelIds, int capabilities) Retrieves a ResultList containing Boolean values representing whether the start form for the latest published version of each of the process models is capable of ALL the specified form capabilities.Deprecated.UsegetProcessModelDescriptors(Long[])instead.voidlockProcessModel(Long processModelId, boolean override) Locks the specified process modelvoidmoveFolder(Long folderId, Long parentFolderId) Moves a process model foldervoidmoveProcessModel(Long processModelId, Long parentFolderId) Moves a process model to a new process model foldervoidnotifyUserCreation(String username) Deprecated.done automatically by UserService.createUservoidnotifyUsersCreation(String[] usernames) Notifies the server that new users were created on the Personalization serverpublishProcessModel(ProcessModel processModel) Deprecated.use saveAndPublishProcessModelvoidDeprecated.reloading properties is now automatic, so this call is now unnecessary and does nothing.voidremoveDashboardPageForProcessModel(Long processModelId) Disassociates the current Dashboard page for the givenProcessModelbyprocessModelId.voidremoveProcessDashboardPageForProcessModel(Long processModelId) Removes any custom dashboards created for instances of a particular process model.voidremoveProcessModelFromFavorites(Long modelId) Deprecated.favorites marking is deprecatedvoidDeprecated.saveAndPublishProcessModel(ProcessModel processModel, boolean overrideLock) Attempts to lock, save, validate, and publish the given model.voidsetActorsInRolesForFolder(Long folderId, String[] users, String[][] userRoles, Long[] groups, String[][] groupRoles) Sets actors (users and groups) in roles for a process model folder.voidsetActorsInRolesForProcessApplication(String[] users, String[][] userRoles, Long[] groups, String[][] groupRoles) Adds and/or modifies the roles of users and groups on the Process Application.voidsetActorsInRolesForProcessModel(Long id, String[] users, String[][] userRoles, Long[] groups, String[][] groupRoles) Adds and/or modifies the roles of users and groups on a specified ProcessModel.voidsetApplicationAdministratorGroup(Long groupId) Determines which group users need to be in to have the application administrator role.voidsetCurrentNotePaths(String[] notePaths) Deprecated.since 23.2voidsetDashboardPageForProcessModel(Long processModelId, Long pageId) Sets a page as the Dashboard page for the givenProcessModelbyprocessModelId.voidsetDefaultPriority(Long priorityId) Sets the default Priority that the Process Application will use.voidsetInheritanceForFolder(Long folderId, boolean inherits) Sets the inheritance for a process model foldervoidsetPriorityOfProcessModel(Long processModelId, Long priorityId) Sets the priority of a process modelvoidsetProcessDashboardPageForProcessModel(Long processModelId, Long pageId) Sets a particular page as the dashboard for every instance of a givenProcessModelbyprocessModelId.voidsetSecurityForFolder(Long folderId, Security security) Sets the security for a process model folder.voidsetSecurityForProcessApplication(Security security) Sets the security settings of the Process Application.voidsetSecurityForProcessModel(Long id, Security security) Sets the security settings of a process model.voidsetSiteLocaleSettings(SiteLocaleSettings settings) Registers the site locale settings on the process design server.voidSet a backend timezone.voidsetTimeZoneSameAs(BackendTimeZoneSimple tz, String sameAsId) Set a backend timezone to have the same rules as another backend timezone the sameAsId.startProcess(Long processModelId, ProcessVariable[] variables) Deprecated.UseinitiateProcess(Long, ProcessStartConfig), which has better enforcement of required parameters (requires that their values not be null or empty)startProcessVersion(Long processModelId, ProcessVariable[] variables, String version, Long priorityId) Deprecated.UseinitiateProcess(Long, ProcessStartConfig), which has better enforcement of required parameters (requires that their values not be null or empty)startProcessWithPriority(Long processModelId, ProcessVariable[] variables, Long priorityId) Deprecated.UseinitiateProcess(Long, ProcessStartConfig), which has better enforcement of required parameters (requires that their values not be null or empty)voidunlockProcessModel(Long processModelId, boolean override) Unlocks the given process modelvoidUnlocks all process models locked by the current user.voidupdateBusinessEntity(BusinessEntity business) Updates aBusinessEntity.updateFolder(ProcessModelFolder folder) Updates a process model folder.updateFolders(ProcessModelFolder[] processModelFolders) Updates a list of process model folders.Updates a process model in the database based on the input parameter.updateProcessModelsWithDescriptors(ProcessModel.Descriptor[] descriptors) Updates process models in the database.voidupdateUsernames(String[] oldUsernames, String[] newUsernames, long maxExpirationTimeInSeconds) Deprecated.validate()Runs validation tests against the database to check whether it is corrupt, and returns a line-separated list of validation resultsbooleanvalidateGroupMembership(Long[] memGroupIds, Long[] admGroupIds, Long userTypeId, String username) Validates if the association of a user as 'Member' and as an 'Administrator has changed or not.String[]validateProcessModel(AbstractProcessModel abstractProcessModel) Returns the results of validating a process modelString[]validateProcessModelVersion(Long processModelId, String version) Returns the results of validating a process model, same as getProcessModelVersion followed by validateProcessModel.booleanvalidateTypedValues(TypedValue[] typedValues) Validates given TypedValues.Boolean[]validateUsernames(String[] usernames) Returns an array of Boolean values, Boolean.TRUE if the user given by the username exists and Boolean.FALSE otherwise.The returned process model is not transformed.Versions a process model in the database based on the input parameter.Methods inherited from interface com.appiancorp.services.ContextSensitiveSingletonService
configureContextSensitiveSingletonService
-
Field Details
-
DOES_NOT_RECURSE
static final int DOES_NOT_RECURSEIndicates that there is no recursion in the process model, the subprocess model, or between the process model and sub-process model- See Also:
-
PARENT_PROCESS_RECURSES
static final int PARENT_PROCESS_RECURSESIndicates that the parent process model recurses (including the situation where the parent recurses through addition of the sub-process model)- See Also:
-
SUBPROCESS_RECURSES
static final int SUBPROCESS_RECURSESIndicates that any sub-process of the parent process recurses- See Also:
-
EMBEDDED
static final int EMBEDDEDSub-process is embedded in the parent process- See Also:
-
INDEPENDENT
static final int INDEPENDENTSub-process is independent of the parent process- See Also:
-
ALL
static final int ALLAll possible sub-process states- See Also:
-
UNPUBLISHED_CHILDREN_VIEW_PERMISSIONS
Get unpublished children failed because the user did not have view permissions -
UNPUBLISHED_CHILDREN_INVALID
Get unpublished children failed because the process model specified did not exist -
UNPUBLISHED_CHILDREN_PUBLISH_PERMISSIONS
Get unpublished children failed because the process model specified did not exist -
UNPUBLISHED_CHILDREN_SUCCESS
Get unpublished children failed because the user did not have publish permissions -
createProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
updateProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
exportProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
listProcessModels$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getActivityClassSchemas$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getActivityClassSchema$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getACSchemaByLocalId$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
startProcess$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
startProcessWithPriority$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
initiateProcess$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelsForGroup$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelDetails$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getFormConfig$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getFormConfigForVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
isStartFormCapable$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getMyProcessModels$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelsICanStart$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModels$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelParameters$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getVisibleProcessVariables$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getAssigneePoolACSchemas$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getAssignmentPoolACSchemas$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
activateUserSession$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getEscalationACSchemas$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
deleteProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
deleteProcessModels$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelDescriptor$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getRecursiveRelationship$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getSubProcessModelDescriptorsForProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getSubProcessModelDescriptorsForProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getSynchronousSubProcessModelDescriptorsForProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getSynchronousSubProcessModelDescriptorsForProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelDescriptorsContainingSubProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getProcessModelDescriptorsContainingSubProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelDescriptorsContainingSynchronousSubProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getProcessModelDescriptorsContainingSynchronousSubProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getTopLevelProcessModelDescriptorsForSubProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getTopLevelProcessModelDescriptorsForSubProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getTopLevelProcessModelDescriptorsForSynchronousSubProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getTopLevelProcessModelDescriptorsForSynchronousSubProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getLinkProcessModelDescriptorsForProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getLinkProcessModelDescriptorsForProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getAsynchronousSubProcessModelDescriptorsForProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getAsynchronousSubProcessModelDescriptorsForProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelDescriptorsContainingLinkProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getProcessModelDescriptorsContainingLinkProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelDescriptorsContainingAsynchronousSubProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getProcessModelDescriptorsContainingAsynchronousSubProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getTopLevelProcessModelDescriptorsForLinkProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getTopLevelProcessModelDescriptorsForLinkProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getTopLevelProcessModelDescriptorsForAsynchronousSubProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getTopLevelProcessModelDescriptorsForAsynchronousSubProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getSecurityForProcessApplication$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setSecurityForProcessApplication$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getSecurityForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setSecurityForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setActorsInRolesForProcessApplication$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setActorsInRolesForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getPermissionsForProcessApplication$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getPermissionsForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getPermissionsForProcessModels$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getPriority$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getDefaultPriority$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setDefaultPriority$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getPriorityOfProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setPriorityOfProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
lockProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
exportProcessModelVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
versionProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelsForFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getChildFolders$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getTopLevelFolders$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getVersionsForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setActorsInRolesForFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
unlockProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
unlockProcessModels$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getFolders$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
startProcessVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelProperties$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getMaximumNumberOfNotes$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getMaximumNumberOfAttachments$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getUnpublishedChildrenForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getParentsForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getParentsOfUnpublishedChildrenForProcessModel$UPDATES
@Deprecated(forRemoval=true) static final boolean getParentsOfUnpublishedChildrenForProcessModel$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
publishProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
saveAndPublishProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getVisibleProcessVariablesForVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelParametersForVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getCountProcessModelParametersForVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
updateFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
createFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
disableProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
enableProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
deleteFolders$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
deleteFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
updateFolders$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
updateProcessModelsWithDescriptors$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getSecurityForFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setSecurityForFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelDescriptors$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelsLatestPublishedDescriptors$UPDATES
@Deprecated(forRemoval=true) static final boolean getProcessModelsLatestPublishedDescriptors$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelVersionDescriptor$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
moveProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
moveFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getPermissionsForFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getPermissionsForFolders$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setInheritanceForFolder$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
deleteProcessModelVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getBusinessEntity$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
createBusinessEntity$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
updateBusinessEntity$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelWebServices$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
createProcessModelWebService$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
deleteProcessModelWebService$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessStartingInfo$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelByUuid$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelIdByUuid$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelsAndDescendants$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelsForFolderStartableOnly$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
validateProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
validateProcessModelVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
isProcessModelLocked$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelLatestPublishedVersion$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelLatestPublishedVersionDescriptor$UPDATES
@Deprecated(forRemoval=true) static final boolean getProcessModelLatestPublishedVersionDescriptor$UPDATESDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getACInstanceIdsForLocalIds$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getACPInstanceIdsForLocalIds$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
notifyUserCreation$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
notifyUsersCreation$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
validateGroupMembership$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
updateUsernames$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
commitUpdateUsernames$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
rollbackUpdateUsernames$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setApplicationAdministratorGroup$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
reloadProperties$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
validate$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setSiteLocaleSettings$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getEventsForProcessModelPaging$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
findEventsPaging$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getEventOrProcessModelNames$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessModelIdsByUuids$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getEmailAttachmentFolderIdForPm$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getPmIdForEvent$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getEventsByPersistentId$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setDashboardPageForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getDashboardPageForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
removeDashboardPageForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
addProcessModelToFavorites$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
removeProcessModelFromFavorites$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
handleMessages$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
validateUsernames$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessVariablesForModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getCurrentNotePaths$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setCurrentNotePaths$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getExpressionDependencies$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
evaluateExpressionInVariableContext$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
evaluateExpression$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
externalizeExpression$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
internalizeExpression$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getRuleIdReferences$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getRuleUuidReferences$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
evaluateRule$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setProcessDashboardPageForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getProcessDashboardPageForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
removeProcessDashboardPageForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
getLingeringTasksForProcessModel$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
validateTypedValues$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setTimeZone$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
setTimeZoneSameAs$UPDATES
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
-
Method Details
-
createProcessModel
@Write({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModel createProcessModel(ProcessModel pm) throws PrivilegeException, InvalidFolderException, InvalidPriorityException, InvalidUserException, DuplicateUuidException Creates aProcessModelin the database using the input parameter. The database generates primary keys and reconstitutes the model to create the return value.In order to create a model at least the following fields must be populated:
LocalizedIdentity.setName(com.appiancorp.suiteapi.common.LocaleString)AbstractProcessModel.setProcessName(com.appiancorp.suiteapi.common.LocaleString)AbstractProcessModel.setFolderId(java.lang.Long)AbstractProcessModel.setPriority(com.appiancorp.suiteapi.process.Priority)- If an OR, XOR, or Complex Logic node is included in the model,
ProcessModel.setVariables(com.appiancorp.suiteapi.process.ProcessVariable[])must be populated, because these nodes require variables to be defined.
For each process variable, the following fields must be populated:
key,value,type, andmultipleFor each process node, the following fields must be populated:
id,guiId,ownerId,ownerName,groupOwnerId,groupOwnerName,icon,paletteIcon,x,y,activityClass,preActivities(can be an empty array),postActivities(can be an empty array),connections(can be an empty array),notify,assign(if the node is attended),confirmationUrl(populated by default),schedule,escalations(can be an empty array),multipleInstance,notes(can be an empty array),attachments (can be an empty array),priority,targetCompletion(populated by default), andtargetLag(populated by default).Within each process node, in the assign member, the following fields must be populated:
assignees,multipleInstanceAssigneeType,assignmentFunction, andassignmentPositionWithin each process node, in the activity class member, the following fields must be populated:
acSchemaId,localId,parameters(can be an empty list),customParameters(can be an empty list),unattended,runAs(if it is unattended),outputExpressions(can be an empty list),formConfig(if it is attended), andhelperClass.Within each activity class, for each activity class parameter, the following fields must be populated:
acpSchemaId,expression, andvalidationMessages- Parameters:
pm- theProcessModelto create- Returns:
- the created
ProcessModel, with IDs populated. - Throws:
PrivilegeException- if the current user does not have permission to perform this actionInvalidFolderException- if theProcessModelFolderdoes not existInvalidPriorityException- if thePrioritydoes not existInvalidUserException- if any user referenced in theProcessModeldoes not existDuplicateUuidException- if the UUID of the process model already exists
-
updateProcessModel
@Write({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModel updateProcessModel(ProcessModel pm) throws InvalidUuidException, InvalidProcessModelException, InvalidPriorityException, PrivilegeException, LockException, InvalidUserException Updates a process model in the database based on the input parameter. The database generates primary keys and reconstitutes the model to create the return value. Theidanduuidfields are only used for retrieving the model and cannot be changed since they are assigned by the server in the first place.In order to update a model at least the following fields must be populated:
LocalizedIdentity.setId(java.lang.Long)LocalizedIdentity.setName(com.appiancorp.suiteapi.common.LocaleString)AbstractProcessModel.setProcessName(com.appiancorp.suiteapi.common.LocaleString)AbstractProcessModel.setPriority(com.appiancorp.suiteapi.process.Priority)- If an OR, XOR, or Complex Logic node is included in the model,
ProcessModel.setVariables(com.appiancorp.suiteapi.process.ProcessVariable[])must be populated, because these nodes require variables to be defined.
For each process variable, the following fields must be populated:
key,value,type, andmultipleFor each process node, the following fields must be populated:
id,guiId,ownerId,ownerName,groupOwnerId,groupOwnerName,icon,paletteIcon,x,y,activityClass,preActivities(can be an empty array),postActivities(can be an empty array),connections(can be an empty array),notify,assign(if the node is attended),confirmationUrl(populated by default),schedule,escalations(can be an empty array),multipleInstance,notes(can be an empty array),attachments (can be an empty array),priority,targetCompletion(populated by default), andtargetLag(populated by default).Within each process node, in the assign member, the following fields must be populated:
assignees.Within each process node, in the activity class member, the following fields must be populated:
acSchemaId,localId,parameters(can be an empty list),customParameters(can be an empty list),unattended,runAs(if it is unattended),outputExpressions(can be an empty list),formConfig(if it is attended), andhelperClass.Within each activity class, for each activity class parameter, the following fields must be populated:
acpSchemaId,expression, andvalidationMessages.- Parameters:
pm- the processModel to update- Returns:
- the updated process model
- Throws:
InvalidProcessModelException- if the process model does not existPrivilegeException- if the user does not have privileges to update the process modelLockException- if the process model is locked by someone other than the current userInvalidUuidException- if the specifieduuidis used by another process modelInvalidUserException- if any user referenced in theProcessModeldoes not existInvalidPriorityException
-
getProcessModel
@Read({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModel getProcessModel(Long processModelId) throws PrivilegeException, InvalidProcessModelException Retrieve a working draft of aProcessModel. If the information needed can be retrieved fromProcessModel.Descriptorconsider calling thegetProcessModelDescriptor(Long)method instead which is considerably faster.- Parameters:
processModelId- ID of theProcessModelto retrieve- Returns:
- The
ProcessModelspecified byprocessModelId_ - Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not existPrivilegeException- if the currentUserdoes not have sufficient privileges to view theProcessModel
-
exportProcessModel
@Read(K_PROCESS_DESIGN) ProcessModel exportProcessModel(Long processModelId) throws PrivilegeException, InvalidProcessModelException Retrieve a working draft of aProcessModel. UnlikegetProcessModel(java.lang.Long), this API does not convert rule uuids to names (within expressions). Therefore this API should be used when retrieving a model for export.- Parameters:
processModelId- ID of theProcessModelto retrieve- Returns:
- The
ProcessModelspecified byprocessModelId_ - Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not existPrivilegeException- if the currentUserdoes not have sufficient privileges to view theProcessModel
-
listProcessModels
Deprecated.UsegetProcessModelDescriptors(Long[])instead. This method performs poorly and should not be called.Lists descriptors representing the working drafts of all process models in the system.- Returns:
- an array of descriptor objects which represent the process models in the system
-
getActivityClassSchemas
@Read(K_PROCESS_DESIGN) Identity[] getActivityClassSchemas(Long[] acsIds) throws InvalidActivityClassSchemaException Retrieves a list of abbreviatedActivityClassSchemarepresentations for the given IDs- Parameters:
acsIds- the activity class schema IDs- Returns:
- An array of
Identityobjects which are abbreviated representations ofActivityClassSchemaobjects. - Throws:
InvalidActivityClassSchemaException- ifActivityClassSchemadoes not exist
-
getActivityClassSchema
@Read(K_PROCESS_DESIGN) ActivityClassSchema getActivityClassSchema(Long acsId) throws InvalidActivityClassSchemaException Retrieves anActivityClassSchema.- Parameters:
acsId- the ID of theActivityClassSchemato retrieve.- Returns:
- the
ActivityClassSchemaspecified byacsId_ - Throws:
InvalidActivityClassSchemaException- if theActivityClassSchemaspecified byacsId_does not exist
-
getACSchemaByLocalId
@Read(K_PROCESS_DESIGN) ActivityClassSchema getACSchemaByLocalId(String acsLocalId) throws InvalidActivityClassSchemaException Retrieves anActivityClassSchemaby local id.- Parameters:
acsLocalId- the local ID of theActivityClassSchemato retrieve.- Returns:
- the
ActivityClassSchemaspecified byacsLocalId_ - Throws:
InvalidActivityClassSchemaException- if theActivityClassSchemaspecified byacsId_does not exist
-
startProcess
@Deprecated @Write(K_PROCESS_DESIGN) Long startProcess(Long processModelId, ProcessVariable[] variables) throws InvalidProcessModelException, PrivilegeException, InvalidStateException, StorageLimitException, InvalidUserException, IllegalArgumentException, Exception Deprecated.UseinitiateProcess(Long, ProcessStartConfig), which has better enforcement of required parameters (requires that their values not be null or empty)Starts an instance of the given process model, using the given variables to initialize state.The following fields must be populated for each
ProcessVariableobject:key,value,type, andmultiple- Parameters:
processModelId- id of process model to startvariables- parameters for the process model. If using a process variable of an Appian type, do not set the value to that object but instead to the corresponding primitive. For instance, do not assign a User process variable aUserobject. Instead, assign that process variable aStringcontaining the username. Likewise, assign a process variable of type Group should be assigned aLong, etc. The exception to this rule is the People type. Process variables of type People should be assigned aLocalObject. Only the values are used for passed parameters, not expressions; expressions must be set on the process model at design time.- Returns:
- The id of the started process instance.
- Throws:
InvalidProcessModelException- if the referenced process model does not exist or has been deleted.PrivilegeException- if the user does not have permission to perform this action.InvalidStateException- if there is no published version of the specified pm, the published version is disabled, or if the process model contains sub process models that have been disabled or deleted. Note that all sub process models of a published process model must have been published, but they can still be disabled.InvalidUserException- if any user referenced in anyProcessVariabledoes not exist.IllegalArgumentException- if theProcessModelrequires process parameters to start, and thevariables_parameter is an empty array, or does not contain all necessary process parameters.NullPointerException- ifprocessModelId_orvariables_array is null.ExceptionStorageLimitException
-
startProcessWithPriority
@Deprecated @Write(K_PROCESS_DESIGN) Long startProcessWithPriority(Long processModelId, ProcessVariable[] variables, Long priorityId) throws InvalidProcessModelException, InvalidPriorityException, InvalidStateException, PrivilegeException, InvalidUserException, IllegalArgumentException, Exception Deprecated.UseinitiateProcess(Long, ProcessStartConfig), which has better enforcement of required parameters (requires that their values not be null or empty)Starts an instance of the given process model, using the given variables to initialize state. The process will be started with the priority specified.- Parameters:
processModelId- id of process model to startvariables- parameters for the process model. If using a process variable of an Appian type, do not set the value to that object but instead to the corresponding primitive. For instance, do not assign a User process variable aUserobject. Instead, assign that process variable aStringcontaining the username. Likewise, assign a process variable of type Group should be assigned aLong, etc. The exception to this rule is the People type. Process variables of type People should be assigned aLocalObject.priorityId- the priority with which to start the process- Returns:
- The id of the started process instance.
- Throws:
InvalidPriorityException- if the Priority does not existInvalidProcessModelException- if theProcessModeldoes not existPrivilegeException- if the user does not have permission to perform this actionInvalidStateException- if there is no published version of the specified pm, the published version is disabled, or if the process model contains sub process models that have been disabled or deleted. Note that all sub process models of a published process model must have been published, but they can still be disabled.InvalidUserException- if any user referenced in anyProcessVariabledoes not existIllegalArgumentException- if theProcessModelrequires process parameters to start, and thevariables_parameter is null, an empty array, or does not contain all necessary process parameters.Exception
-
initiateProcess
@Write(K_PROCESS_DESIGN) Long initiateProcess(Long processModelId, ProcessStartConfig config) throws InvalidProcessModelException, InvalidPriorityException, InvalidVersionException, PrivilegeException, InvalidStateException, StorageLimitException, InvalidUserException, IllegalArgumentException, Exception Starts an instance of the given process model.- Parameters:
processModelId- id of process model to startconfig- additional configuration to control how the process is started- Returns:
- The id of the started process instance.
- Throws:
InvalidProcessModelException- if the referenced process model does not exist or has been deleted.PrivilegeException- if the user does not have permission to perform this action.InvalidStateException- if there is no published version of the specified pm, the published version is disabled, or if the process model contains sub process models that have been disabled or deleted. Note that all sub process models of a published process model must have been published, but they can still be disabled.InvalidUserException- if any user referenced in anyProcessVariabledoes not exist.IllegalArgumentException- if theProcessModelrequires process parameters to start, and any of the required parameters are missing or have not been given a value that is not null or empty.NullPointerException- ifprocessModelId_orvariables_array is null.ExceptionInvalidPriorityExceptionInvalidVersionExceptionStorageLimitException
-
getProcessModelsForGroup
@Deprecated @Read(K_PROCESS_DESIGN) ResultPage getProcessModelsForGroup(Long groupId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Deprecated.Process models are no longer associated with groups, but rather are organized into folders. UsegetProcessModelsForFolder(java.lang.Long, int, int, java.lang.Integer, java.lang.Integer)Retrieves process model descriptors objects for all process models owned by a group- Parameters:
groupId- ID of theGroupfor which to retrieveProcessModel.DescriptorobjectsstartIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. UseConstants.COUNT_ALLto return the entire collection, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted. This is one of theSORT_BY_XXXconstants located inProcessModel.DescriptorsortOrder- the order in which to sort the results. This is one ofConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- A
ResultPagewhich contains an array ofProcessModel.Descriptorobjects for eachProcessModelowned by theGroupspecified bygroupId_
-
getProcessModelDetails
@Read(K_PROCESS_DESIGN) ProcessModelDetails getProcessModelDetails(Long processModelId) throws InvalidProcessModelException, PrivilegeException RetrievesProcessModelDetailsrepresenting the working drafts of the givenProcessModelIf only requiring FormConfig, seegetFormConfigin this class.- Parameters:
processModelId- ID of theProcessModelfor which to retrieve theProcessModelDetails- Returns:
- A
ProcessModelDetailswhich contains details about theProcessModelspecified byprocessModelId_ - Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not existPrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
getFormConfig
@Read(K_PROCESS_DESIGN) FormConfig getFormConfig(Long processModelId) throws InvalidProcessModelException, PrivilegeException Retrieves theFormConfigof the draft of the given process model.- Parameters:
processModelId- ID of theProcessModelfor which to retrieve theFormConfig- Returns:
- A
FormConfig - Throws:
InvalidProcessModelExceptionPrivilegeException
-
getFormConfigForVersion
@Read(K_PROCESS_DESIGN) FormConfig getFormConfigForVersion(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, InvalidStateException, PrivilegeException Retrieves theFormConfigof the given process model version.- Parameters:
processModelId- ID of theProcessModelfor which to retrieve theFormConfigversion- version of the process model (usenullto refer to a draft, orAbstractProcessModel.LATEST_PUBLISHED_VERSIONto refer to the latest published version)- Returns:
- A
FormConfig - Throws:
InvalidProcessModelExceptionInvalidVersionExceptionInvalidStateException- if there is no published version of the specified pm, the published version is disabled, or if the process model contains sub process models that have been disabled or deleted. Note that all sub process models of a published process model must have been published, but they can still be disabled.PrivilegeException
-
isStartFormCapable
Retrieves a ResultList containing Boolean values representing whether the start form for the latest published version of each of the process models is capable of ALL the specified form capabilities. If the process model does not have a start form, this method will return aResultList.CODE_VALIDfor that entry.- Parameters:
processModelIds- the process model idscapabilities- a bitwise OR of any of the following values:FormConfig.CAPABILITY_RENDER_WEB,FormConfig.CAPABILITY_RENDER_MOBILE- Returns:
- a ResultList containing a Boolean value for each process model that is valid
and has a published version. The result codes can be:
ResultList.CODE_VALIDif the process model exists and has the requested capability,ResultList.CODE_INVALIDif the specified process model does not exist, does not have a published version or does not have the requested capability, orResultList.CODE_NO_PERMISSIONif the user does not have permission to view the given process model.
-
getMyProcessModels
RetrievesProcessModelobjects for which the current user is an owner.- Returns:
- An array of
ProcessModel.Descriptorobjects which represent theProcessModelobjects owned by the currentUser
-
getProcessModelsICanStart
Retrieves process model descriptors which represent the working drafts of the process models that the current user has permission to start- Returns:
ProcessModel.Descriptorobjects for eachProcessModelwhich the current user can start.
-
getProcessModels
Deprecated.UsegetProcessModelDescriptors(Long[])or callgetProcessModel(Long)iteratively instead.Retrieves multipleProcessModelobjects, representing the working drafts of the process models with the given IDs. This method will throw aPrivilegeExceptionif an ID points to aProcessModelto which the current user does not have "viewer" or higher privileges. If the information needed can be retrieved fromProcessModel.Descriptorconsider calling thegetProcessModelDescriptors(Long[])method instead which is considerably faster.- Parameters:
ids- Unique IDs of theProcessModelobjects to retrieve- Returns:
- The
ProcessModelobjects specified byids_ - Throws:
NullPointerException- if it is called with a null argumentPrivilegeException- if the user does not have "viewer" or higher privileges for any of the referencedProcessModels.
-
getProcessModelParameters
@Read(K_PROCESS_DESIGN) ProcessVariable[] getProcessModelParameters(Long processModelId) throws InvalidProcessModelException, PrivilegeException, InvalidStateException, Exception Retrieves all of the process variables that are required to start an instance of the given process model (ie. process parameters).- Parameters:
processModelId- ID of theProcessModelfor which to retrieve the process parameters- Returns:
ProcessVariableobjects which represent those variables which are required to start the givenProcessModel- Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not exist.PrivilegeException- if the currentUserdoes not have permissions to get theProcessModel's parametersInvalidStateException- if there is no published version of the specified pm, the published version is disabled, or if the process model contains sub process models that have been disabled or deleted. Note that all sub process models of a published process model must have been published, but they can still be disabled.Exception
-
getVisibleProcessVariables
@Read(K_PROCESS_DESIGN) ProcessVariable[] getVisibleProcessVariables(Long processModelId) throws InvalidProcessModelException, PrivilegeException Retrieves all visible process variables associated with the given process model, or the process variables that are reportable through analytics and can be mapped in a subprocess relationship- Parameters:
processModelId- the unique Id of the process model to retrieve variables for- Returns:
- the visible process variables of the process model specified
- Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not exist.PrivilegeException- if the currentUserdoes not have permissions to get theProcessModel's parameters
-
getAssigneePoolACSchemas
Retrieves the activity class schemas for the activity classes that operate on the assignee pool. The assignee pool contains all users and groups which can be assigned a task, as chosen at design time.- Returns:
- An array of
ActivityClassSchemaobjects which represent the functions that operate on the assignee pool.
-
getAssignmentPoolACSchemas
Retrieves the activity class schemas for the activity classes that operate on the assignment pool. The assignment pool contains all users and groups which are assigned a task at execution time.- Returns:
- An array of
ActivityClassSchemaobjects which represent the functions that operate on the assignment pool.
-
activateUserSession
@Write(K_PROCESS_DESIGN) void activateUserSession(Long[] membership, Long[] administration, Long userTypeId, String username) throws InvalidUserException Notifies the Process application that a new session has been created for the current user, and provides information about the current user's membership and administration rights to groups.This method should be called every time the group membership role of the current user is changed (eg: from member to admin, etc), or when a new group is created, or when the current user was newly created. This method will skip any
nullvalues formembership_oradministration_. If theuserTypeId_isnull, the method will fail but will NOT throw any exceptions- Parameters:
membership- An array of group IDs which represent the groups to which the current user belongs.administration- An array of group IDs which represent the groups for which the current user is an administrator.userTypeId- this is one ofUserProfile.USER_TYPE_BASICorUserProfile.USER_TYPE_SYS_ADMIN. If neither or null is given,UserProfile.USER_TYPE_BASICwill be assumed.username- the username of the user whose session is to be activated- Throws:
InvalidUserException
-
getEscalationACSchemas
Retrieves the activity class schemas for activities that can be used as escalations.- Returns:
- An array of
ActivityClassSchemaobjects which represent all activity classes of type Escalation
-
deleteProcessModel
@Write(K_PROCESS_DESIGN) void deleteProcessModel(Long processModelId_) throws InvalidProcessModelException, PrivilegeException Deletes a process model. A model can be deleted even if there are processes that have been created from it on any of the execution servers. These processes will continue after the process model has been deleted. To delete processes, useProcessExecutionService.deleteProcess(java.lang.Long, boolean), andProcessExecutionService.deleteProcesses(java.lang.Long[], boolean)- Parameters:
processModelId_- the ID of theProcessModelto delete.- Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not exist.PrivilegeException- if the currentUserdoes not have permissions to delete theProcessModel
-
deleteProcessModels
@Write(K_PROCESS_DESIGN) void deleteProcessModels(Long[] processModelIds_) throws InvalidProcessModelException, PrivilegeException Deletes multipleProcessModelobjects. A model can only be deleted if there are no processes that have been created from it on any of the execution servers. To delete processes, useProcessExecutionService.deleteProcess(java.lang.Long, boolean), andProcessExecutionService.deleteProcesses(java.lang.Long[], boolean)- Parameters:
processModelIds_- ids of process models to delete.- Throws:
InvalidProcessModelException- if a specifiedProcessModeldoes not exist.PrivilegeException- if the currentUserdoes not have permissions to delete a specifiedProcessModel
-
getProcessModelDescriptor
@Read(K_PROCESS_DESIGN) ProcessModel.Descriptor getProcessModelDescriptor(Long processModelId) throws InvalidProcessModelException, PrivilegeException Retrieves a process model descriptor representing the working draft of a process model. This method will successfully return a valid descriptor even if the user only has "initiator" privileges over the specifiedProcessModel.- Parameters:
processModelId- ID of theProcessModelfor which to get the descriptor- Returns:
ProcessModel.Descriptorspecified by givenprocessModelId_- Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not existPrivilegeException- if the currentUserdoes not have sufficient privileges to get theProcessModeldescriptor
-
getRecursiveRelationship
@Read(K_PROCESS_DESIGN) int getRecursiveRelationship(Long processModelId, Long subProcessModelId) throws InvalidProcessModelException Return the status of the two process models' recursive relationship- Parameters:
processModelId- id of process model to check for recursive relationshipsubProcessModelId- subProcessModel to check for relationship with parent ProcessModel- Returns:
- one of
DOES_NOT_RECURSE,PARENT_PROCESS_RECURSESorSUBPROCESS_RECURSES - Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not exist
-
getSubProcessModelDescriptorsForProcessModel
@Deprecated @Read(K_PROCESS_DESIGN) ResultList getSubProcessModelDescriptorsForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Deprecated.Gets a ResultList containing process model descriptors representing the working drafts of the subprocess models of the given process model- Parameters:
processModelId- the unique ID of the process model to get the sub process model descriptors for- Returns:
- a ResultList containing
ProcessModel.Descriptorobjects that are subprocesses for the given process. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if the process model is invalidPrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
getSynchronousSubProcessModelDescriptorsForProcessModel
@Read(K_PROCESS_DESIGN) ResultList getSynchronousSubProcessModelDescriptorsForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Gets a ResultList containing process model descriptors representing the working drafts of the sub-process models of the given process model- Parameters:
processModelId- the unique ID of the process model to get the sub-process model descriptors for- Returns:
- a ResultList containing
ProcessModel.Descriptorobjects that are subprocesses for the given process. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if the process model is invalidPrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
getProcessModelDescriptorsContainingSubProcessModel
@Deprecated @Read(K_PROCESS_DESIGN) ResultList getProcessModelDescriptorsContainingSubProcessModel(Long subProcessModelId) throws InvalidProcessModelException, PrivilegeException Deprecated.Retrieves process model descriptors representing the working drafts of the process models that contain the given process model as a sub-process model- Parameters:
subProcessModelId- The ID of the sub process model which will be contained in the returned process models- Returns:
- A
ResultListwhich contains an array ofProcessModel.Descriptorobjects representing those process models containing the given sub process model. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if theProcessModelgiven bysubProcessModelId_is invalidPrivilegeException- if the current user does not have sufficient permissions to view the given process model
-
getProcessModelDescriptorsContainingSynchronousSubProcessModel
@Read(K_PROCESS_DESIGN) ResultList getProcessModelDescriptorsContainingSynchronousSubProcessModel(Long subProcessModelId) throws InvalidProcessModelException, PrivilegeException Retrieves process model descriptors representing the working drafts of the process models that contain the given process model as a sub-process model- Parameters:
subProcessModelId- The ID of the sub-process model which will be contained in the returned process models- Returns:
- A
ResultListwhich contains an array ofProcessModel.Descriptorobjects representing process models that contain the given sub process model. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if theProcessModelgiven bysubProcessModelId_is invalidPrivilegeException- if the current user does not have sufficient permissions to view the given process model
-
getTopLevelProcessModelDescriptorsForSubProcessModel
@Deprecated @Read(K_PROCESS_DESIGN) ResultList getTopLevelProcessModelDescriptorsForSubProcessModel(Long subProcessModelId) throws InvalidProcessModelException, PrivilegeException Deprecated.Gets a ResultList containing process model descriptors representing the working drafts of the top level process models of the given sub process model- Parameters:
subProcessModelId- the process model to get top levelProcessModel.Descriptorobjects for- Returns:
- a ResultList containing
ProcessModel.Descriptorobjects for all top level process models of the given sub process model. This will return an empty ResultList for models that solely form a recursive loop or if called on a top-level process model. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if the process model is invalidPrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
getTopLevelProcessModelDescriptorsForSynchronousSubProcessModel
@Read(K_PROCESS_DESIGN) ResultList getTopLevelProcessModelDescriptorsForSynchronousSubProcessModel(Long subProcessModelId) throws InvalidProcessModelException, PrivilegeException Gets a ResultList containing process model descriptors that represent the working drafts of the top level process models of the given sub-process model- Parameters:
subProcessModelId- the process model to get top levelProcessModel.Descriptorobjects for- Returns:
- a ResultList containing
ProcessModel.Descriptorobjects for all top level process models of the given sub process model. This will return an empty ResultList for models that solely form a recursive loop or if called on a top-level process model. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if the process model is invalidPrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
getLinkProcessModelDescriptorsForProcessModel
@Deprecated @Read(K_PROCESS_DESIGN) ResultList getLinkProcessModelDescriptorsForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Deprecated.Retrieve a list of process model descriptors representing the working drafts of the linked process models for a given process model.- Parameters:
processModelId- ID of theProcessModelfor which to retrieve the linkedProcessModel.Descriptorobjects- Returns:
- a
ResultListcontainingProcessModel.Descriptorobjects which represent the linkedProcessModelobjects for the specifiedProcessModel. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_is invalidPrivilegeException- if the current user does not have sufficient privileges to access theProcessModel
-
getAsynchronousSubProcessModelDescriptorsForProcessModel
@Read(K_PROCESS_DESIGN) ResultList getAsynchronousSubProcessModelDescriptorsForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Retrieve a list of process model descriptors that represent the working drafts of all linked process models for the given process model.- Parameters:
processModelId- ID of theProcessModelfor which to retrieve the linkedProcessModel.Descriptorobjects- Returns:
- a
ResultListcontainingProcessModel.Descriptorobjects which represent the linkedProcessModelobjects for the specifiedProcessModel. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_is invalidPrivilegeException- if the current user does not have sufficient privileges to access theProcessModel
-
getProcessModelDescriptorsContainingLinkProcessModel
@Deprecated @Read(K_PROCESS_DESIGN) ResultList getProcessModelDescriptorsContainingLinkProcessModel(Long linkProcessModelId) throws InvalidProcessModelException, PrivilegeException Deprecated.Retrieves process model descriptors that represent the working drafts of all process models that contain the given linked process model- Parameters:
linkProcessModelId- The ID of the linkedProcessModelwhich will be contained in the returnedProcessModelobjects- Returns:
- A
ResultListwhich contains an array ofProcessModel.Descriptorobjects which contain the linkedProcessModelspecified bylinkProcessModelId_. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if the linkedProcessModeldoes not existPrivilegeException- if the current user does not have sufficient permissions to view theProcessModel
-
getProcessModelDescriptorsContainingAsynchronousSubProcessModel
@Read(K_PROCESS_DESIGN) ResultList getProcessModelDescriptorsContainingAsynchronousSubProcessModel(Long linkProcessModelId) throws InvalidProcessModelException, PrivilegeException Retrieves process model descriptors representing the working drafts of the process models that contain the given linked process model- Parameters:
linkProcessModelId- The ID of the linkedProcessModelwhich will be contained in the returnedProcessModelobjects- Returns:
- A
ResultListwhich contains an array ofProcessModel.Descriptorobjects which contain the linkedProcessModelspecified bylinkProcessModelId_. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if the linkedProcessModeldoes not existPrivilegeException- if the current user does not have sufficient permissions to view theProcessModel
-
getTopLevelProcessModelDescriptorsForLinkProcessModel
@Deprecated @Read(K_PROCESS_DESIGN) ResultList getTopLevelProcessModelDescriptorsForLinkProcessModel(Long linkProcessModelId) throws InvalidProcessModelException, PrivilegeException Deprecated.Gets aResultListcontaining process model descriptors representing the working drafts of thetop level process models of the given linked process model- Parameters:
linkProcessModelId- the process model to get top level process model descriptors for- Returns:
- a ResultList containing
ProcessModel.Descriptorobjects for all top level process models of the given linked process model. This will return an empty ResultList for models that solely form a recursive loop or if called on a top level process model. - Throws:
InvalidProcessModelException- if the process model is invalidPrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
getTopLevelProcessModelDescriptorsForAsynchronousSubProcessModel
@Read(K_PROCESS_DESIGN) ResultList getTopLevelProcessModelDescriptorsForAsynchronousSubProcessModel(Long linkProcessModelId) throws InvalidProcessModelException, PrivilegeException Gets aResultListcontaining process model descriptors that represent the working drafts of all parent process models for the given linked process model- Parameters:
linkProcessModelId- the process model to get top level process model descriptors for- Returns:
- a ResultList containing
ProcessModel.Descriptorobjects for all top level process models of the given linked process model. This will return an empty ResultList for models that solely form a recursive loop or if called on a top level process model. - Throws:
InvalidProcessModelException- if the process model is invalidPrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
getSecurityForProcessApplication
Gets the security settings of the Process Application- Returns:
- the
Securityobject (with all fields populated) that contains the security for the process application. The role maps in theSecurityobject areProcessApplicationRoleMapobjects. - Throws:
PrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
setSecurityForProcessApplication
@Write(K_PROCESS_DESIGN) void setSecurityForProcessApplication(Security security) throws PrivilegeException, InvalidUserException Sets the security settings of the Process Application. FieldscanInheritandinheritablewill be ignored (doesInheritis not ignored).- Parameters:
security- aSecurityobject which encapsulates the security settings of the Process Application. The role maps in theSecurityobject must beProcessRoleMapobjects- Throws:
PrivilegeException- if the current user does not have sufficient privileges to perform this operationInvalidUserException- if any user referenced in theSecuritydoes not exist
-
getSecurityForProcessModel
@Read(K_PROCESS_DESIGN) Security getSecurityForProcessModel(Long id) throws InvalidProcessModelException, PrivilegeException Gets the security settings of a process model- Parameters:
id- the unique Id of the process model- Returns:
- the
Securityobject (with all fields populated) that contains the security settings of the process model. The role maps in theSecurityobject are beProcessRoleMapobjects - Throws:
InvalidProcessModelException- if theProcessModelspecified does not existPrivilegeException- if the current user does not have sufficient privileges to perform this operation
-
setSecurityForProcessModel
@Write(K_PROCESS_DESIGN) void setSecurityForProcessModel(Long id, Security security) throws InvalidProcessModelException, PrivilegeException, InvalidUserException Sets the security settings of a process model. This method does NOT setcanInheritandinheritable(doesInheritis not ignored).- Parameters:
id- the unique Id of the process modelsecurity- aSecurityobject which encapsulates the security settings of the process model. The role maps in theSecurityobject must beProcessRoleMapobjects- Throws:
InvalidProcessModelException- if theProcessModelspecified does not existPrivilegeException- if the current user does not have sufficient privileges to perform this operationInvalidUserException- if any user referenced in theSecuritydoes not exist
-
setActorsInRolesForProcessApplication
@Write(K_PROCESS_DESIGN) void setActorsInRolesForProcessApplication(String[] users, String[][] userRoles, Long[] groups, String[][] groupRoles) throws PrivilegeException, InvalidUserException, InvalidRoleException Adds and/or modifies the roles of users and groups on the Process Application. This method will only update the roles for the users and groups specified in the parameters. All other roles will not be changed. To overwrite the roles for all users and groups usesetSecurityForProcessApplication(Security)SeeProcessRoleMapfor valid roles.- Parameters:
users- the list of users whose roles are to be added/modified. This parameter can be null, as long asuserRoles_is also null. If one is null and the other is not, a NullPointerException will be thrown.userRoles- a 2-dimentional array of size [users_.length][]. The String array userRoles_[i] represents the roles which users_[i] will have. (If this array is null or zero-length, the user have no explicit permissions in the Process Application role map). It is legal to have null within this array.groups- the list of groups whose roles are to be added/modified. This parameter can be null, as long asgroupRoles_is also null. If one is null and the other is not, a NullPointerException will be thrown.groupRoles- a 2-dimentional array of size [groups_.length][]. The String array groupRoles_[i] represents the roles which groups_[i] will have. (If this array is null or zero-length, the group have no explicit permissions in the Process Application role map). It is legal to have null within this array.- Throws:
PrivilegeException- if the current user does not have sufficient privileges to perform this operationInvalidUserException- if any users does not existInvalidRoleException- if an invalid role is passed to the method
-
setActorsInRolesForProcessModel
@Write(K_PROCESS_DESIGN) void setActorsInRolesForProcessModel(Long id, String[] users, String[][] userRoles, Long[] groups, String[][] groupRoles) throws InvalidProcessModelException, PrivilegeException, InvalidUserException, InvalidRoleException Adds and/or modifies the roles of users and groups on a specified ProcessModel. This method will only overwrite the roles for the users and groups specified in the parameters. All other roles will not be changed. To overwrite the roles for all users and groups usesetSecurityForProcessModel(Long, Security)SeeProcessRoleMapfor valid roles.- Parameters:
id- the unique Id of the process modelusers- the list of users whose roles are to be added/modified This parameter can be null, as long asuserRoles_is also null. If one is null and the other is not, a NullPointerException will be thrown.userRoles- a 2-dimentional array of size [users_.length][]. The String array userRoles_[i] represents the roles which users_[i] will have. (If this array is null or zero-length, the user have no explicit permissions in the process model role map)groups- the list of groups whose roles are to be added/modified This parameter can be null, as long asgroupRoles_is also null. If one is null and the other is not, a NullPointerException will be thrown.groupRoles- a 2-dimentional array of size [groups_.length][]. The String array groupRoles_[i] represents the roles which groups_[i] will have. (If this array is null or zero-length, the group have no explicit permissions in the process model role map)- Throws:
InvalidProcessModelException- if theProcessModelspecified does not existPrivilegeException- if the current user does not have sufficient privileges to perform this operationInvalidUserException- if any users does not existInvalidRoleException- if an invalid role is passed to the method
-
getPermissionsForProcessApplication
@Read(K_PROCESS_DESIGN) ProcessApplicationPermissions getPermissionsForProcessApplication() throws InvalidUserExceptionRetrieves permissions on the Process application for the current user- Returns:
ProcessApplicationPermissionsobject which contains the permissions for the current user on the Process Application- Throws:
InvalidUserException
-
getPermissionsForProcessModel
@Read(K_PROCESS_DESIGN) ProcessModelPermissions getPermissionsForProcessModel(Long id) throws InvalidProcessModelException Retrieves permissions on a process model for the current user.- Parameters:
id- ID of theProcessModelfor which to get theProcessModelPermissions- Returns:
ProcessModelPermissionsobject which contains the permissions on the process model for the current user.- Throws:
InvalidProcessModelException- if theProcessModelspecified does not exist
-
getPermissionsForProcessModels
@Read(K_PROCESS_DESIGN) ProcessModelPermissions[] getPermissionsForProcessModels(Long[] ids) throws InvalidProcessModelException Retrieves permissions on multiple process models objects for the current user.- Parameters:
ids- Unique IDs of the process models for which to get theProcessModelPermissions- Returns:
ProcessModelPermissionswhich contain the permissions on the process models for the current user- Throws:
InvalidProcessModelException- if a specifiedProcessModeldoes not exist
-
getPriority
Retrieves aPriority- Parameters:
priorityId- ID of thePriorityto retrieve- Returns:
- The
Prioritycoresponding topriorityId_ - Throws:
InvalidPriorityException- if thePrioritydoes not exist
-
getDefaultPriority
Retrieves the defaultPriorityfor the system.- Returns:
- The default
Priority;nullif no default is configured.
-
setDefaultPriority
@Write(K_PROCESS_DESIGN) void setDefaultPriority(Long priorityId) throws InvalidPriorityException, IllegalArgumentException Sets the default Priority that the Process Application will use.- Parameters:
priorityId- the ID of the priority to set as the default priority- Throws:
InvalidPriorityException- if the specificed priority does not existIllegalArgumentException- if anullargument is passed
-
getPriorityOfProcessModel
@Read(K_PROCESS_DESIGN) Priority getPriorityOfProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Retrieves the priority for aProcessModel.- Parameters:
processModelId- ID of theProcessModelfor which to retrieve thePriority- Returns:
- The
Priorityfor theProcessModelspecified byprocessModelId_ - Throws:
InvalidProcessModelException- if the specifiedProcessModeldoes not existPrivilegeException- if the current user does not have privileges to view the process model
-
setPriorityOfProcessModel
@Write(K_PROCESS_DESIGN) void setPriorityOfProcessModel(Long processModelId, Long priorityId) throws InvalidPriorityException, InvalidProcessModelException, PrivilegeException Sets the priority of a process model- Parameters:
processModelId- the unique id of the process model to set the priority ofpriorityId- the unique id of the priority to set- Throws:
InvalidPriorityException- if the priority does not existInvalidProcessModelException- if the process model does not existPrivilegeException- if the current user does not have sufficient permissions to perform this action
-
lockProcessModel
@Write(K_PROCESS_DESIGN) void lockProcessModel(Long processModelId, boolean override) throws InvalidProcessModelException, PrivilegeException, LockException Locks the specified process model- Parameters:
processModelId- the unique ID of the process model to lockoverride- whether or not to override the lock another user has placed on the process model- Throws:
InvalidProcessModelException- if the process model does not existPrivilegeException- if the user does not have access to lock (or override the existing lock, if specified) of the process modelLockException- if the process model is already locked (by someone other than the user) and the user did not choose to override it.
-
getProcessModelVersion
@Read(K_PROCESS_DESIGN) ProcessModel getProcessModelVersion(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, PrivilegeException Retrieves a version of aProcessModel. If the version isnullor empty, it returns the latest saved draft.- Parameters:
processModelId- ID of theProcessModelwhose version will be retrievedversion- The version of theProcessModelto retrieve- Returns:
- The
ProcessModelgiven byprocessModelId_andversion_ - Throws:
InvalidProcessModelException- if theProcessModeldoes not existInvalidVersionException- if theProcessModeldoes not have the given versionPrivilegeException- if the current user does not have sufficient permissions to view theProcessModelversion
-
exportProcessModelVersion
@Read(K_PROCESS_DESIGN) ProcessModel exportProcessModelVersion(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, PrivilegeException Retrieves a version of aProcessModel. If the version isnullor empty, it returns the latest saved draft. UnlikegetProcessModelVersion(java.lang.Long, java.lang.String), this API does not convert rule uuids to names (within expressions). Therefore this API should be used when retrieving a model for export.- Parameters:
processModelId- ID of theProcessModelwhose version will be retrievedversion- The version of theProcessModelto retrieve- Returns:
- The
ProcessModelgiven byprocessModelId_andversion_ - Throws:
InvalidProcessModelException- if theProcessModeldoes not existInvalidVersionException- if theProcessModeldoes not have the given versionPrivilegeException- if the current user does not have sufficient permissions to view theProcessModelversion
-
versionProcessModel
@Write({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModel versionProcessModel(ProcessModel pm) throws InvalidProcessModelException, PrivilegeException, LockException, InvalidUserException Versions a process model in the database based on the input parameter. SeecreateProcessModel(com.appiancorp.suiteapi.process.ProcessModel)for the properties that must be populated on the process model. It creates a new process model if the process modelIdis set to -1.- Parameters:
pm- aProcessModelobject representing the new process model version- Returns:
- a
ProcessModelobject representing the versioned process model - Throws:
InvalidProcessModelException- if the ID of the process model does not correspond to a valid process modelPrivilegeException- if the user does not have privileges to version the process modelLockException- if the process model is locked by someone other than the current userInvalidUserException- if any of the users referenced in theProcessModeldo not exist
-
versionProcessModel
@Write({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModel versionProcessModel(ProcessDiagram pm) throws InvalidProcessModelException, PrivilegeException, LockException, InvalidUserException The returned process model is not transformed. -
getProcessModelsForFolder
@Read(K_PROCESS_DESIGN) ResultPage getProcessModelsForFolder(Long folderId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) throws InvalidFolderException, PrivilegeException Retrieve process model descriptors representing the working drafts of the process models directly in a process model folder- Parameters:
folderId- ID of theProcessModelFolderfor which to retrieve all containedProcessModelobjectsstartIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. UseConstants.COUNT_ALLto return the entire collection, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted. This is one of theSORT_BY_XXXconstants located inProcessModel.DescriptorsortOrder- the order in which to sort the results. This is one ofConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- Returns a
ResultPagewhich contains an array ofProcessModel.Descriptorobjects - Throws:
InvalidFolderException- if theProcessModelFolderdoes not existPrivilegeException- if the current user does not have permission to access the folder
-
getChildFolders
@Read(K_PROCESS_DESIGN) ResultPage getChildFolders(Long folderId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) throws InvalidFolderException, PrivilegeException Gets all the direct child folders of a process model folder- Parameters:
folderId- id of the folder for which to get child foldersstartIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. Negative numbers will result in the entire collection being returned, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted. This is one of theSORT_BY_XXXconstants located inProcessModelFoldersortOrder- the order in which to sort the results. This is one ofConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- Returns a
ResultPagewhich contains an array ofProcessModelFolderobjects - Throws:
InvalidFolderException- if theProcessModelFolderspecified byfolderId_does not existPrivilegeException- if the current user does not have access to theProcessModelFolder
-
getTopLevelFolders
@Read(K_PROCESS_DESIGN) ResultPage getTopLevelFolders(int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Returns the top level folders in the process application that the current user can see.- Parameters:
startIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. Negative numbers will result in the entire collection being returned, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted This is one of theSORT_BY_XXXconstants located inProcessModelFoldersortOrder- the order in which the results will be sorted This is one ofConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- a
ResultPageofProcessModelFolderobjects representing the top level folders
-
getVersionsForProcessModel
@Read(K_PROCESS_DESIGN) ResultPage getVersionsForProcessModel(Long processModelId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) throws InvalidProcessModelException, PrivilegeException Gets the versions for a process model- Parameters:
processModelId- the id of the process model to get versions forstartIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. UseConstants.COUNT_ALLto return the entire collection, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted. This is one of theSORT_BY_XXXconstants located inProcessModel.DescriptorsortOrder- The order in which to sort the results. This is eitherConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- A
ResultPagecontainingProcessModel.Descriptorobjects representing the versions of the specified process model. - Throws:
InvalidProcessModelException- if the process model does not existPrivilegeException- if the user does not have permissions to view the process model
-
setActorsInRolesForFolder
@Write(K_PROCESS_DESIGN) void setActorsInRolesForFolder(Long folderId, String[] users, String[][] userRoles, Long[] groups, String[][] groupRoles) throws InvalidFolderException, PrivilegeException, InvalidUserException, InvalidRoleException Sets actors (users and groups) in roles for a process model folder. This method will only overwrite the roles for the users and groups specified in the parameters. All other roles will not be changed. To overwrite the roles for all users and groups usesetSecurityForFolder(Long, Security)SeeProcessRoleMapfor valid roles.- Parameters:
folderId- the unique id of the process model folderusers- the list of users (user names) whose roles are to be added/modified This parameter can be null, as long asuserRoles_is also null. If one is null and the other is not, a NullPointerException will be thrown.userRoles- a 2-dimensional array of size [users_.length]. The String array userRoles_[i] represents the roles which users_[i] will have. (If this array is null or zero-length, the user has no explicit permissions in the process model folder's role map)groups- the list of groups whose roles are to be added/modified This parameter can be null, as long asgroupRoles_is also null. If one is null and the other is not, a NullPointerException will be thrown.groupRoles- a 2-dimentional array of size [groups_.length]. The String array groupRoles_[i] represents the roles which groups_[i] will have. (If this array is null or zero-length, the group has no explicit permissions in the process model folder's role map)- Throws:
InvalidFolderException- if the folder does not existPrivilegeException- if the user does not have permission to perform the operationInvalidUserException- if any of the users do not existInvalidRoleException- if an invalid role is passed to the method
-
unlockProcessModel
@Write(K_PROCESS_DESIGN) void unlockProcessModel(Long processModelId, boolean override) throws InvalidProcessModelException, PrivilegeException, LockException Unlocks the given process model- Parameters:
processModelId- the unique id of the process model to unlockoverride- whether or not to break a lock on the given process model, if it is currently locked by someone other than the current user- Throws:
InvalidProcessModelException- if the process model does not existLockException- if the process model is already locked and the user has not specified to override itPrivilegeException- if the user does not have privileges to unlock the process model
-
unlockProcessModels
Unlocks all process models locked by the current user. -
getFolder
@Read(K_PROCESS_DESIGN) ProcessModelFolder getFolder(Long folderId) throws InvalidFolderException, PrivilegeException Retrieves aProcessModelFolder.- Parameters:
folderId- ID of theProcessModelFolderto retrieve- Returns:
- a
ProcessModelFolderspecified byfolderId_ - Throws:
InvalidFolderException- if theProcessModelFolderdoes not existPrivilegeException- if the currentUserdoes not have permission to access to the folder
-
getFolders
Retrieves multiple process model folders- Parameters:
folderIds- Unique IDs of the process model folders to retrieve.- Returns:
- A
ResultListwhich contains an array ofProcessModelFolderobjects, and result codes. In the case where there is an exception (such as access restriction) the ResultList.getResultCodes() will have an entry for every id passed to it, but theResult.getResults()will only have an entry for every valid result returned. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified folder does not exist
-
startProcessVersion
@Deprecated @Write(K_PROCESS_DESIGN) Long startProcessVersion(Long processModelId, ProcessVariable[] variables, String version, Long priorityId) throws InvalidProcessModelException, InvalidPriorityException, InvalidVersionException, PrivilegeException, InvalidStateException, StorageLimitException, InvalidUserException, IllegalArgumentException, Exception Deprecated.UseinitiateProcess(Long, ProcessStartConfig), which has better enforcement of required parameters (requires that their values not be null or empty)Starts an instance of the given process model version, using the given variables to initialize state.- Parameters:
processModelId- id of process model to startvariables- parameters for the process model. If using a process variable of an Appian type, do not set the value to that object but instead to the corresponding primitive. For instance, do not assign a User process variable aUserobject. Instead, assign that process variable aStringcontaining the username. Likewise, assign a process variable of type Group should be assigned aLong, etc. The exception to this rule is the People type. Process variables of type People should be assigned aLocalObject.version- version of the given process model to startpriorityId- priority of the process model to start,nullif the default priority is to be used- Returns:
- The id of the started process instance.
- Throws:
InvalidProcessModelException- if the process model is invalidInvalidPriorityException- if the priority is invalidInvalidVersionException- if the version is invalidPrivilegeException- if the user does not have privileges to perform thisInvalidStateException- if the version does not existStorageLimitException- if all execution servers are fullInvalidUserException- if any of the users users referenced by aProcessVariabledoes not existIllegalArgumentException- if theProcessModelrequires process parameters to start, and thevariables_parameter is null, an empty array, or does not contain all necessary process parameters.Exception
-
getProcessModelProperties
@Read(K_PROCESS_DESIGN) ProcessModelProperties getProcessModelProperties(Long modelId) throws PrivilegeException, InvalidProcessModelException Retrieves theProcessModelPropertiesrepresenting the working draft of aProcessModel.- Parameters:
modelId- ID of theProcessModelfor which to retrieve theProcessModelProperties- Returns:
- A
ProcessModelPropertiesobject which contains the properties for theProcessModelgiven bymodelId_ - Throws:
PrivilegeException- if the current user does not have sufficient privileges to view theProcessModelInvalidProcessModelException- if theProcessModeldoes not exist
-
getMaximumNumberOfNotes
Deprecated.since 23.2Returns the maximum number of notes that can be added to a process model or process node. This property can be configured in pc.properties- Returns:
- The maximum number of notes
-
getMaximumNumberOfAttachments
Returns the maximum number of attachments that can be added to a process model or process node. This property can be configured in pc.properties- Returns:
- The maximum number of attachments
-
getUnpublishedChildrenForProcessModel
@Read(K_PROCESS_DESIGN) ResultList getUnpublishedChildrenForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Returns the working draft of the unpublished children (sub process models) of the given process model- Parameters:
processModelId- the id of the process model to get unpublished children for- Returns:
- a ResultList containing
ProcessModel.Descriptorobjects of the process model's unpublished children The result codes are as follows:UNPUBLISHED_CHILDREN_VIEW_PERMISSIONS= No permissions, cannot view process model;UNPUBLISHED_CHILDREN_INVALID= Invalid Process Model (a process model that cannot be run);UNPUBLISHED_CHILDREN_PUBLISH_PERMISSIONS= No permissions to publish the process model;UNPUBLISHED_CHILDREN_SUCCESS= Success - Throws:
InvalidProcessModelException- if the process model does not existPrivilegeException
-
getParentsForProcessModel
@Read(K_PROCESS_DESIGN) ResultList getParentsForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Retrieves the working drafts of the parents of aProcessModel. If the process model is not a sub process model in any other process model, the returnedResultListwill have an empty result set.- Parameters:
processModelId- ID of theProcessModelfor which to get the parents.- Returns:
- a ResultList containing an array of
ProcessModel.Descriptorobjects which represent the parents of theProcessModelspecified byprocessModelId_. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if theProcessModeldoes not exist.PrivilegeException- if the user does not have privileges to view the process model
-
getParentsOfUnpublishedChildrenForProcessModel
@Read(K_PROCESS_DESIGN) ResultList getParentsOfUnpublishedChildrenForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Returns the working drafts of the parents of the unpublished children (sub process models) of aProcessModel. Does not return theProcessModelitself or its parents.- Parameters:
processModelId- ID of theProcessModelfor which to retrieve the parents of the unpublished children.- Returns:
- A ResultList containing an array of
ProcessModel.Descriptorobjects which represent the parents of the unpublished children of theProcessModelspecified byprocessModelId_. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist - Throws:
InvalidProcessModelException- if theProcessModeldoes not existPrivilegeException- if the user does not have privileges to view the process model
-
publishProcessModel
@Deprecated @Write({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModel publishProcessModel(ProcessModel processModel) throws InvalidProcessModelException, PrivilegeException, LockException, InvalidStateException, InvalidUserException Deprecated.use saveAndPublishProcessModelPublishes a process model. Unpublished children of the process model will be published and owners of the affected process models will be notified- Parameters:
processModel- process model to publish- Returns:
- the published process model. The process model is transformed.
- Throws:
InvalidProcessModelException- if the ID of the process model does not correspond to a valid IDPrivilegeException- if the user does not have privileges to publish the process modelLockException- if the process model is lockedInvalidStateException- if the process model is in an invalid state (not validated)InvalidUserException- if any of the users referenced by theProcessModeldoes not exist
-
saveAndPublishProcessModel
@Write({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModelWithErrors saveAndPublishProcessModel(ProcessModel processModel, boolean overrideLock) throws InvalidProcessModelException, PrivilegeException, LockException, InvalidStateException, InvalidUserException, InvalidUuidException, InvalidFolderException, InvalidPriorityException Attempts to lock, save, validate, and publish the given model. If the model is new, we try to create, lock, validate, and publish. The resulting data structure contains the model that was written to the database (published if everything worked, saved if only the save worked, and null if nothing worked), along with any validation errors or warnings that were detected. During the save portion, the method can throw any of the exceptions that would be thrown by createProcessModel or updateProcessModel. If the model contains any sub-processes that are unpublished, then theProcessModel.Descriptorobjects are returned for those models that were published and owners notified, those that cannot be published and those parents of unpublished children that were notified.- Parameters:
processModel- the model to save and publishoverrideLock- whether to lock the model if it is already locked- Returns:
- a
ProcessModelWithErrorsdata structure holding the saved and/or published model and descriptions of any errors that occurred - Throws:
InvalidProcessModelException- if the ID of the process model does not correspond to a valid IDPrivilegeException- if the user does not have privileges to save or publish the process modelLockException- if the process model is locked and we cannot overrideInvalidStateException- if the process model is in an invalid state (not validated)InvalidUserException- if any of the users referenced in theProcessModeldo not existInvalidUuidException- if any of the UUIDs referenced do not existInvalidFolderException- if folder ID where processModel is to be saved does not existInvalidPriorityException- if priority for the processModel is invalid
-
getVisibleProcessVariablesForVersion
@Read(K_PROCESS_DESIGN) ProcessVariable[] getVisibleProcessVariablesForVersion(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, PrivilegeException Retrieves all visible process variables associated with the given process model version, or the process variables that are reportable through analytics and can be mapped in a subprocess relationship- Parameters:
processModelId- the unique Id of the process model to retrieve variables forversion- version to get the parameters for- Returns:
- the visible process variables of the process model specified by the id and version given
- Throws:
InvalidProcessModelException- if the process model does not existInvalidVersionException- if the version does not exsitPrivilegeException- if the user does not have sufficient privileges to perform the operation
-
getProcessModelParametersForVersion
@Read(K_PROCESS_DESIGN) ProcessVariable[] getProcessModelParametersForVersion(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, PrivilegeException, Exception Retrieves all of the process variables that are required to start an instance of the given process model version (ie. process parameters)- Parameters:
processModelId- ID of theProcessModelfor which to retrieveProcessParametersversion- The version of theProcessModelfor which to retrieveProcessParameters(usenullto refer to a draft)- Returns:
ProcessVariableobjects which represent those variables which are required to start theProcessModelversion given byprocessModelId_andversion_- Throws:
InvalidProcessModelException- if theProcessModeldoes not existInvalidVersionException- if theProcessModelversion does not existPrivilegeException- if the currentUserdoes not have permissions to view theProcessModelException
-
getCountProcessModelParametersForVersion
@Read(K_PROCESS_DESIGN) int getCountProcessModelParametersForVersion(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, PrivilegeException, Exception Retrieves count of all of the process variables that are required to start an instance of the given process model version (ie. process parameters)- Parameters:
processModelId- ID of theProcessModelfor which to retrieveProcessParametersversion- The version of theProcessModelfor which to retrieveProcessParameters(usenullto refer to a draft)- Returns:
ProcessVariableobjects which represent those variables which are required to start theProcessModelversion given byprocessModelId_andversion_- Throws:
InvalidProcessModelException- if theProcessModeldoes not existInvalidVersionException- if theProcessModelversion does not existPrivilegeException- if the currentUserdoes not have permissions to view theProcessModelException
-
updateFolder
@Write(K_PROCESS_DESIGN) ProcessModelFolder updateFolder(ProcessModelFolder folder) throws PrivilegeException, IllegalArgumentException, InvalidFolderException, RecursiveRelationshipException Updates a process model folder. The following fields must be populated in theProcessModelFolderobject:id,name,description, andparentFolderId- Parameters:
folder- aProcessModelFolderobject containing the properties of the folder to update. This methods will updatename,descriptionandparentFolderId. Other fields will not be updated.- Returns:
- a
ProcessModelFolderobject representing the updated folder - Throws:
PrivilegeException- if the user does not have permissions to perform this actionIllegalArgumentException- if thetypeof the folder is different from the previous type (not thrown if the newtypeisnull, in which case the newtypeis ignored)InvalidFolderException- if the ID of the folder does not correspond to a valid folder, or if the ID of the parent folder is invalidRecursiveRelationshipException- if the update would result in a loop in the tree of parent folders
-
createFolder
@Write(K_PROCESS_DESIGN) ProcessModelFolder createFolder(ProcessModelFolder folder) throws PrivilegeException, IllegalArgumentException, DuplicateUuidException Creates a folder for storing process models. The following fields are required for theProcessModelFolderobject:name, andtype- Parameters:
folder- TheProcessModelFolderto create.- Returns:
- The created
ProcessModelFolder - Throws:
PrivilegeException- if the current user does not have permissions to create aProcessModelFolderIllegalArgumentException- if the type of folder is invalid. It must be one of two types:ProcessModelFolder.TYPE_COMMUNITYorProcessModelFolder.TYPE_PRIVATE. This exception will also be thrown if the parent folder is invalid (Top level folders must have anullparent folder id).DuplicateUuidException- if the UUID of the folder already exists
-
disableProcessModel
@Write(K_PROCESS_DESIGN) void disableProcessModel(Long processModelId, String version) throws InvalidProcessModelException, PrivilegeException, InvalidVersionException Disables a version of aProcessModel.- Parameters:
processModelId- ID of theProcessModelon which to disable a version.version- The ID of the version to disable.- Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not exist.PrivilegeException- if the currentUserdoes not have sufficient permissions to disable a versionInvalidVersionException- if the given version does not exist for theProcessModel
-
enableProcessModel
@Write(K_PROCESS_DESIGN) void enableProcessModel(Long processModelId, String version) throws InvalidProcessModelException, PrivilegeException, InvalidVersionException Enables aProcessModelversion.- Parameters:
processModelId- The ID of theProcessModelwhich has the version to enable.version- The name of the version to enable- Throws:
InvalidProcessModelException- if theProcessModelspecified byprocessModelId_does not exist.PrivilegeException- if the current user does not have sufficient permissions to enable the version.InvalidVersionException- if the given version does not exist for theProcessModel
-
deleteFolders
Deletes a list of folders- Parameters:
folders- TheProcessModelFolderobjects to delete.- Returns:
- a
ResultListcontaining result codes for each deletion. Possible values are:ResultList.CODE_NO_PERMISSIONif the user does not have permission,ResultList.CODE_INVALIDif the folder does not exist or is not empty, andResultList.CODE_VALIDif the delete succeeded.
-
deleteFolder
@Write(K_PROCESS_DESIGN) void deleteFolder(Long folderId) throws InvalidFolderException, PrivilegeException, InvalidStateException Deletes aProcessModelFolder- Parameters:
folderId- id of theProcessModelFolderto delete.- Throws:
InvalidFolderException- if theProcessModelFolderspecified byfolderId_does not exist.PrivilegeException- if the current user does not have sufficient privileges to delete theProcessModelFolder.InvalidStateException- if theProcessModelFolderis not empty (it must not contain sub-folders or process models)
-
updateFolders
@Write(K_PROCESS_DESIGN) ResultList updateFolders(ProcessModelFolder[] processModelFolders) throws RecursiveRelationshipException Updates a list of process model folders. The following fields must be populated in eachProcessModelFolderobject:id,name,description, andparentFolderId- Parameters:
processModelFolders- an array ofProcessModelFolderobjects each containing the properties of the folders to update. This method will updatename,description,parentFolderId. Other fields will not be updated.- Returns:
- a ResultList containing the updated
ProcessModeFolderobjects and result codes for the operations. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified folder does not exist or its parent folder does not exist - Throws:
RecursiveRelationshipException- if the updates would result in a loop in the tree of parent folders
-
updateProcessModelsWithDescriptors
@Write({K_PROCESS_DESIGN,OBJECT_STORE}) ResultList updateProcessModelsWithDescriptors(ProcessModel.Descriptor[] descriptors) Updates process models in the database. In order to update aProcessModel.Descriptorat least the following fields must be populated:idandprocessName- Parameters:
descriptors- theProcessModel.Descriptorobjects that represent the process models to update- Returns:
- A result list containing the updated
ProcessModel.Descriptorobjects and a list of result codes for the operations. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have permission, orResultList.CODE_INVALIDif the specified process model does not exist
-
getSecurityForFolder
@Read(K_PROCESS_DESIGN) Security getSecurityForFolder(Long folderId) throws InvalidFolderException, PrivilegeException Gets the security for a process model folder- Parameters:
folderId- the unique Id of the folder to retrieve security for- Returns:
- the
Securityobject (with all fields populated) that contains that security settings for the folder. The role maps in theSecurityobject are beProcessRoleMapobjects - Throws:
InvalidFolderException- if the folder doesn't existPrivilegeException- if the user doesn't have privileges
-
setSecurityForFolder
@Write(K_PROCESS_DESIGN) void setSecurityForFolder(Long folderId, Security security) throws PrivilegeException, InvalidFolderException, InvalidUserException Sets the security for a process model folder. FieldscanInheritandinheritablewill be ignored (doesInheritis not ignored).- Parameters:
folderId- the unique id of the folder to set security forsecurity- aSecurityobject representing the security to set. The role maps in theSecurityobject must beProcessRoleMapobjects- Throws:
PrivilegeException- if the user doesn't have privilegesInvalidFolderException- if the folder doesn't existInvalidUserException- if any of the users referenced by theSecuritydoes not exist
-
getProcessModelDescriptors
Retrieves multiple process model descriptors, representing the working drafts of the given process models- Parameters:
pmIds- Unique IDs of theProcessModelobjects for which to retrieve descriptors- Returns:
- A
ResultListwhich contains an array ofProcessModel.Descriptorobjects and an array of result codes which correspond to each ID. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have viewer permission, orResultList.CODE_INVALIDif the specified process model does not exist
-
getProcessModelsLatestPublishedDescriptors
Retrieves multiple process model descriptors, representing the latest published version or a draft if there is no publish version. The list of results is the same length and in the same order as the input IDs. Invalid results will be represented by a null in the result list.- Parameters:
pmIds- Unique IDs of theProcessModelobjects for which to retrieve descriptors- Returns:
- A
ResultListwhich contains an array ofProcessModel.Descriptorobjects and an array of result codes which correspond to each ID. The result codes can be:ResultList.CODE_VALIDif the action succeeded,ResultList.CODE_NO_PERMISSIONif the user does not have viewer permission, orResultList.CODE_INVALIDif the specified process model does not exist
-
getProcessModelVersionDescriptor
@Read(K_PROCESS_DESIGN) ProcessModel.Descriptor getProcessModelVersionDescriptor(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, PrivilegeException Retrieves the process model descriptor for a version of aProcessModel. If null is given as a parameter for version, the returned value will be the descriptor of the draft.- Parameters:
processModelId- ID of theProcessModelwhose version will be retrievedversion- The version of theProcessModelfor which to get theProcessModel.Descriptor- Returns:
ProcessModel.Descriptorfor theProcessModelgiven byprocessModelId_andversion_- Throws:
InvalidProcessModelException- if theProcessModeldoes not existInvalidVersionException- if the version of the process model does not existPrivilegeException- if the current user does not have permissions to view theProcessModelor version
-
moveProcessModel
@Write(K_PROCESS_DESIGN) void moveProcessModel(Long processModelId, Long parentFolderId) throws InvalidProcessModelException, InvalidFolderException, PrivilegeException Moves a process model to a new process model folder- Parameters:
processModelId- the unique id of process model to moveparentFolderId- the unique id of new parent folder- Throws:
InvalidProcessModelException- if the process model does not existInvalidFolderException- if the folder does not existPrivilegeException- if the user does not have permissions to move the given process model to the given folder
-
moveFolder
@Write(K_PROCESS_DESIGN) void moveFolder(Long folderId, Long parentFolderId) throws InvalidFolderException, PrivilegeException, RecursiveRelationshipException Moves a process model folder- Parameters:
folderId- the unique id of the process model folder to moveparentFolderId- the unique id of the new parent folder- Throws:
InvalidFolderException- if the folder or the new parent folder does not existPrivilegeException- if the user does not have permissions to perform this actionRecursiveRelationshipException- if the move would result in a loop in the tree of parent folders
-
getPermissionsForFolder
@Read(K_PROCESS_DESIGN) ProcessModelFolderPermissions getPermissionsForFolder(Long folderId) throws InvalidFolderException, PrivilegeException RetrievesProcessModelFolderPermissionsfor aProcessModelFolder- Parameters:
folderId- ID ofProcessModelFolderfor which to getProcessModelFolderPermissions- Returns:
- A
ProcessModelFolderPermissionsobject which contains permissions for the folder. - Throws:
InvalidFolderException- if theProcessModelFolderdoes not existPrivilegeException- if the current user does not have sufficient permissions to view theProcessModelFolderPermissionsfor the folder
-
getPermissionsForFolders
@Read(K_PROCESS_DESIGN) ProcessModelFolderPermissions[] getPermissionsForFolders(Long[] folderIds) throws InvalidFolderException, PrivilegeException RetrievesProcessModelFolderPermissionsobjects for multipleProcessModelFolderobjects.- Parameters:
folderIds- Unique IDs ofProcessModelFolderobjects for which to get permissions- Returns:
- An array of
ProcessModelFolderPermissionsobjects which contain the permissions for the folders. - Throws:
InvalidFolderException- if any of theProcessModelFolderobjects do not existPrivilegeException- if the currentUserdoes not have sufficient permissions to view theProcessModelFolderPermissionsfor any of the folders
-
setInheritanceForFolder
@Write(K_PROCESS_DESIGN) void setInheritanceForFolder(Long folderId, boolean inherits) throws PrivilegeException, InvalidFolderException Sets the inheritance for a process model folder- Parameters:
folderId- the unique id of the folderinherits- if the folder inherits permissions from its parent- Throws:
PrivilegeException- if the user does not have permission to perform this actionInvalidFolderException- if the folder does not exist
-
deleteProcessModelVersion
@Write(K_PROCESS_DESIGN) ProcessModel.Descriptor deleteProcessModelVersion(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, PrivilegeException Deletes a version of aProcessModel.- Parameters:
processModelId- ID of theProcessModelversion- ID of the version to delete. Ifnull, the process model will be deleted.- Returns:
- Descriptor from before the version is deleted
- Throws:
InvalidProcessModelException- if theProcessModeldoes not exist.InvalidVersionException- if the version does not exist for theProcessModel.PrivilegeException- if the current user does not have sufficient permissions to delete theProcessModelversion.
-
getBusinessEntity
Retrieves theBusinessEntitywhich has been created on the system.- Returns:
- The
BusinessEntityin the system. Returnsnullif noBusinessEntityhas been created.
-
createBusinessEntity
@Write(K_PROCESS_DESIGN) void createBusinessEntity(BusinessEntity business) throws IllegalArgumentException Creates aBusinessEntityfor use with Web Services.- Parameters:
business- TheBusinessEntityto create. Minimum required fields are:uuid,organizationName, andcontactInformation. All fields in thecontactInformationbean are required (non-null and non-emptyStrings).- Throws:
IllegalArgumentException- if any of the required fields or any of the fields in thecontactInformationbean is null or empty.
-
updateBusinessEntity
@Write(K_PROCESS_DESIGN) void updateBusinessEntity(BusinessEntity business) throws NullPointerException Updates aBusinessEntity.- Parameters:
business- aBusinessEntityobject. Minimum required fields are:uuid,organizationName, andcontactInformation.- Throws:
NullPointerException- if,- the required fields in the argument are
nullor empty. - the
contactInformationfield of the argument is a list and any entry of this list isnullor empty. - the argument itself is
null
- the required fields in the argument are
-
getProcessModelWebServices
@Read(K_PROCESS_DESIGN) ResultPage getProcessModelWebServices(int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Retrieves allProcessModelWebServiceobjects on the server.- Parameters:
startIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. UseConstants.COUNT_ALLto return the entire collection, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted. This is one of theSORT_BY_XXXconstants inProcessModelWebServicesortOrder- the order in which to sort the results. This is one ofConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- A
ResultPagewhich contains an array ofProcessModelWebServiceobjects.
-
createProcessModelWebService
@Write(K_PROCESS_DESIGN) void createProcessModelWebService(ProcessModelWebService pmws) throws DuplicateWebServiceNameException, InvalidProcessModelException, Exception Create aProcessModelWebService.- Parameters:
pmws- TheProcessModelWebServiceto create. Minimum required fields are:serviceName,serviceUuid, andprocessModelId.- Throws:
DuplicateWebServiceNameException- if aProcessModelWebServicewith theserviceNamealready exists.InvalidProcessModelException- if theProcessModelspecified byprocessModelIddoes not exist.Exception- if theProcessModelWebServicedoes not contain aserviceNameorserviceUuid
-
deleteProcessModelWebService
Deletes aProcessModelWebServicebased on the service name which it contains.- Parameters:
serviceName- The name of the service to delete. TheProcessModelWebServiceitself will be deleted.
-
getProcessStartingInfo
Retrieves theProcessStartingInfofor a service.- Parameters:
serviceName- The service for which to retrieve theProcessStartingInfo- Returns:
- A
ProcessStartingInfoobject which contains the information necessary to start a service.
-
getProcessModelByUuid
@Read({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModel getProcessModelByUuid(@ConvertWith(com.appiancorp.kougar.mapper.parameters.UuidParameterConverter.class) String uuid) throws InvalidProcessModelException, PrivilegeException Retrieves the working draft of theProcessModelspecified by a UUID (Universal Unique Identifier).- Parameters:
uuid- UUID which specifies theProcessModelto retrieve.- Returns:
- The
ProcessModelspecified byuuid_ - Throws:
InvalidProcessModelException- if theProcessModeldoes not existPrivilegeException- if the user is not allowed to access the model.
-
getProcessModelIdByUuid
@Read(K_PROCESS_DESIGN) Long getProcessModelIdByUuid(@ConvertWith(com.appiancorp.kougar.mapper.parameters.UuidParameterConverter.class) String uuid) throws InvalidProcessModelException, PrivilegeException Retrieves the ID of aProcessModelby a UUID (Universal Unique Identifier).- Parameters:
uuid- UUID ofProcessModelwhose ID will be retrieved- Returns:
- ID of the
ProcessModelspecified byuuid_, ornullif no process model exists with that UUID - Throws:
InvalidProcessModelException- if no process exists for the UUID providedPrivilegeException- if the user is not allowed to access the model.
-
getProcessModelsAndDescendants
@Read({K_PROCESS_DESIGN,OBJECT_STORE}) ProcessModel[] getProcessModelsAndDescendants(Long[] ids) throws InvalidProcessModelException Retrieves multipleProcessModelobjects as well as the subProcessModelobjects which they contain. All process models returned represent the working drafts of the process models in question.- Parameters:
ids- Uniques IDs of theProcessModelwhich will be retrieved. Their sub process models will be retrieved as well.- Returns:
- The
ProcessModelobjects specified byids_, along with their sub process models - Throws:
InvalidProcessModelException- if a specifiedProcessModeldoes not exist
-
getProcessModelsForFolderStartableOnly
@Read(K_PROCESS_DESIGN) ResultPage getProcessModelsForFolderStartableOnly(Long folderId, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) throws InvalidFolderException, PrivilegeException Retrieve descriptors representing the working drafts of the startable process models directly in a process model folder. AProcessModelis startable if it has a valid version or draft.- Parameters:
folderId- id of the folder to get all process models forstartIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. UseConstants.COUNT_ALLto return the entire collection, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted. This is one of theSORT_BY_XXXconstants located inProcessModel.DescriptorsortOrder- the order in which to sort the results. This is one ofConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- Returns a
ResultPageofProcessModel.Descriptorobjects which represent the startableProcessModelobjects in theProcessModelFolderspecified byfolderId_ - Throws:
InvalidFolderException- if theProcessModelFolderdoes not existPrivilegeException- if the current user does not have permission to access the folder
-
validateProcessModel
Returns the results of validating a process model- Parameters:
abstractProcessModel- aProcessModelobject representing the process model to be validated- Returns:
- An array of strings relating to the errors in the process model.
The error strings contain the error name followed by "@"-separated field names in the
ProcessModelbean to specify the location, followed by "@" and the reasons for the error Possible error names include "Invalid Expression" and "Invalid Subprocess". This name (prefix) is omitted from fatal invalidities.
-
validateProcessModelVersion
@Read(K_PROCESS_DESIGN) String[] validateProcessModelVersion(Long processModelId, String version) throws InvalidProcessModelException, InvalidVersionException, PrivilegeException Returns the results of validating a process model, same as getProcessModelVersion followed by validateProcessModel.- Parameters:
processModelId- ID of theProcessModelwhose version will be validatedversion- The version of theProcessModelto retrieve- Returns:
- An array of strings relating to the errors in the process model.
The error strings contain the error name followed by "@"-separated field names in the
ProcessModelbean to specify the location, followed by "@" and the reasons for the error Possible error names include "Invalid Expression" and "Invalid Subprocess". This name (prefix) is omitted from fatal invalidities. - Throws:
InvalidProcessModelExceptionInvalidVersionExceptionPrivilegeException
-
isProcessModelLocked
@Read(K_PROCESS_DESIGN) boolean isProcessModelLocked(Long processModelId) throws InvalidProcessModelException, PrivilegeException Determines whether a process model is locked- Parameters:
processModelId- the ID of the process model- Returns:
true, if the process model with the given ID is locked;falseotherwise.- Throws:
InvalidProcessModelException- if the ID does not correspond to a valid process modelPrivilegeException- if the current user cannot view the process model (ifProcessModelPermissions.isView()would returnfalsefor this process model)
-
getProcessModelLatestPublishedVersion
@Read(K_PROCESS_DESIGN) ProcessModel getProcessModelLatestPublishedVersion(Long processModelId) throws PrivilegeException, InvalidProcessModelException Retrieve the latest published version of aProcessModelor the working draft if a published version does not exist.- Parameters:
processModelId- ID of theProcessModelto retrieve- Returns:
- The
ProcessModelspecified byprocessModelId_ - Throws:
PrivilegeException- if the currentUserdoes not have sufficient privileges to view theProcessModelInvalidProcessModelException- if aProcessModelspecified byprocessModelId_does not exist
-
getProcessModelLatestPublishedVersionDescriptor
@Read(K_PROCESS_DESIGN) ProcessModel.Descriptor getProcessModelLatestPublishedVersionDescriptor(Long processModelId) throws PrivilegeException, InvalidProcessModelException Retrieve the latest published version of aProcessModel.Descriptoror the working draft if a published version does not exist.- Parameters:
processModelId- ID of theDescriptorto retrieve- Returns:
- The
Descriptorspecified byprocessModelId_ - Throws:
PrivilegeException- if the currentUserdoes not have sufficient privileges to view theProcessModelInvalidProcessModelException- if aProcessModelspecified byprocessModelId_does not exist
-
getACInstanceIdsForLocalIds
Returns aResultListcontaining the actual Id's in database corresponding to given localId's ofActivityClass- Parameters:
localIds- localId's ofActivityClassobjects- Returns:
- a
ResultListcontaining Long Id's ofActivityClassin database
-
getACPInstanceIdsForLocalIds
@Read(K_PROCESS_DESIGN) ResultList getACPInstanceIdsForLocalIds(Long activityClassLocalId, String[] localIds) Returns aResultListcontaining the actual Id's in database forActivityClassParametercorresponding to given aActivityClasslocalId andActivityClassParameterlocalId's. If the localIds array is empty, InvalidActivityClassSchemaException might be thrown.- Parameters:
activityClassLocalId- Id ofActivityClass>whoseActivityClassParameterId's are requestedlocalIds- localId's ofActivityClassParameterobjects- Returns:
- a
ResultListcontainingLongId's of givenActivityClassParameterobjects in database
-
notifyUserCreation
@Deprecated @Write(K_PROCESS_DESIGN) void notifyUserCreation(String username) throws NullPointerException Deprecated.done automatically by UserService.createUserNotifies the server that a new user was created on the Personalization server- Parameters:
username- the name of the user that was added- Throws:
NullPointerException- ifusername_isnull
-
notifyUsersCreation
Notifies the server that new users were created on the Personalization server- Parameters:
usernames- the names of the users that were added- Throws:
NullPointerException- if any of the usernames arenull
-
validateGroupMembership
@Read(K_PROCESS_DESIGN) boolean validateGroupMembership(Long[] memGroupIds, Long[] admGroupIds, Long userTypeId, String username) throws InvalidAnonymousUserException, InvalidUserException Validates if the association of a user as 'Member' and as an 'Administrator has changed or not.- Parameters:
memGroupIds- Groups for which the User is a memberadmGroupIds- Groups for which the User is an administratoruserTypeId- this is one ofUserProfile.USER_TYPE_BASICorUserProfile.USER_TYPE_SYS_ADMINusername- the username of the user whose group membership is to be validated- Returns:
- true if there is not change in the membership of the user
- Throws:
InvalidAnonymousUserException- if the user calling this method is anonymous, but anonymous access has not been enabledInvalidUserException- if the user calling this method does not existNullPointerException- if any of the input arrays arenull
-
updateUsernames
@Deprecated @Write(K_PROCESS_DESIGN) void updateUsernames(String[] oldUsernames, String[] newUsernames, long maxExpirationTimeInSeconds) throws IllegalArgumentException, DuplicateNameException Deprecated.DEPRECATED: SeeUserService.renameUsersByUuid(java.lang.String[], java.lang.String[])Updates a list of old usernames to new usernames.If successful, this method must be followed by
commitUpdateUsernames(). AftercommitUpdateUsernameshas been called, the old usernames will still be active, but will expire after the interval specified bymaxExpirationTimeInSeconds_; ifupdateUsernamesis successful butcommitUpdateUsernamesis not called, the new usernames will not become active.If unsuccessful, this method should be followed by
rollbackUpdateUsernames(). This will simply free memory dedicated to mapping old usernames to new usernames.- Parameters:
oldUsernames- the usernames to be updatednewUsernames- the usernames to which the old usernames will be updatedmaxExpirationTimeInSeconds- the interval, in seconds, aftercommitUpdateUsernameshas been called, after which the old usernames will expire. If this parameter is zero or a negative value the old usernames will expire instantly. After expiration, the old usernames will no longer be valid.- Throws:
IllegalArgumentException- if the length ofoldUsernames_is not the same as the length ofnewUsernames_.DuplicateNameException- if anyoldUsernames_ornewUsernames_contain any duplicates, or if an old username is being updated to a username that already exists
-
commitUpdateUsernames
Deprecated.DEPRECATED: SeeUserService.renameUsersByUuid(java.lang.String[], java.lang.String[])Commits an update of usernames.This method should be preceded by a call to
updateUsernames(String[], String[], long). After the commit, the old usernames will be temporarily active, and will expire after the interval specified bymaxExpirationTimeInSeconds_; ifcommitUpdateUsernamesis not called, the new usernames will not become active. -
rollbackUpdateUsernames
Deprecated.DEPRECATED: SeeUserService.renameUsersByUuid(java.lang.String[], java.lang.String[])Rolls back an update of usernames.This method should be called if
updateUsernames(String[], String[], long)is unsuccessful. The rollback will simply free memory dedicated to mapping old usernames to new usernames. -
setApplicationAdministratorGroup
@Write(K_PROCESS_DESIGN) void setApplicationAdministratorGroup(Long groupId) throws PrivilegeException Determines which group users need to be in to have the application administrator role.- Parameters:
groupId- the id of the administrator group- Throws:
PrivilegeException- if the current user does not have permission to perform this action
-
reloadProperties
Deprecated.reloading properties is now automatic, so this call is now unnecessary and does nothing.Reloads all database-level properties files (*.xml, *.properties) without interrupting API services -
validate
Runs validation tests against the database to check whether it is corrupt, and returns a line-separated list of validation results- Returns:
- the validation results
-
setSiteLocaleSettings
Registers the site locale settings on the process design server. UseGlobalizationService.setSiteLocaleSettings(SiteLocaleSettings)if you need to update the site locale settings for all the product Servers.- Parameters:
settings- The site locale settings.
-
getEventsForProcessModelPaging
@Read(K_PROCESS_DESIGN) ResultPage getEventsForProcessModelPaging(Long pmId, Long[] eventTypes, Boolean includeStartEvents, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Returns the Events for a givenProcessModelspecified byeventTypes_.- Parameters:
pmId- ID of theProcessModelfor which to retrieveEventobjectseventTypes- types of events to retrieve. This is one ofXXX_EVENT_YYYconstants inEventincludeStartEvents- whether start events should be includedstartIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. UseConstants.COUNT_ALLto return the entire collection, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted. This is one of theSORT_BY_XXXconstants located inEventsortOrder- the order in which to sort the results. This is one ofConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- A
ResultPagewhich contains an array of Events
-
findEventsPaging
@Read(K_PROCESS_DESIGN) ResultPage findEventsPaging(String searchString, Long pmId, Long[] eventTypes, Boolean includeStartEvents, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) Searches for Events associated with the given Process Model that match the specified searchString.- Parameters:
searchString- search string to search the Events' names.pmId- ID of theProcessModelfor which to retrieveEventobjects. If the ID is null, then events for all process models are searched.eventTypes- types of events to retrieve. This is one ofXXX_EVENT_YYYconstants inEventincludeStartEvents- Whether or not events on start node should be returnedstartIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. UseConstants.COUNT_ALLto return the entire collection, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted. This is one of theSORT_BY_XXXconstants located inEventsortOrder- the order in which to sort the results. This is one ofConstants.SORT_ORDER_ASCENDINGorConstants.SORT_ORDER_DESCENDING- Returns:
- A
ResultPagewhich contains an array ofEventobjects that match the search criteria - Throws:
com.appiancorp.asl3.servicefw.connect.ServiceException- if any system-level error occurs
-
getEventOrProcessModelNames
@Read(K_PROCESS_DESIGN) String[] getEventOrProcessModelNames(Long[] pmIds, String[] eventPersistentIds) Returns the display names of processModels and Events for the providedProcessModelIds and Event Ids- Parameters:
pmIds- Ids of Process Models to get the display name ofeventPersistentIds- Persistent Ids of Events (EventTrigger)to get the display name for- Returns:
- displayNames of ProcessModels and Events. First part of the array
is ProcessModels depending on the
pmIds_count and later part of array is Events depending on theeventIds_count. - Throws:
NullPointerException- ifpmIds_array oreventIds_array is null.
-
getProcessModelIdsByUuids
@Read(K_PROCESS_DESIGN) Long[] getProcessModelIdsByUuids(@ConvertWith(com.appiancorp.kougar.mapper.parameters.UuidParameterConverter[][].class) String[] pmUUIDs) throws PrivilegeException Returns the IDs of ProcessModels that match the given UUID.- Parameters:
pmUUIDs- Array of UUID Strings.- Returns:
- an array of process model IDs that match the given UUIDs.
nullis returned for invalid UUID. - Throws:
PrivilegeException
-
getEmailAttachmentFolderIdForPm
@Read(K_PROCESS_DESIGN) Long getEmailAttachmentFolderIdForPm(Long pm) throws InvalidProcessModelException Returns the Id of the folder where attachments will be stored when an email message is sent to either theProcessModelor any event within theProcessModel- Parameters:
pm- ID of process model- Returns:
- ID of the folder where attachments will be stored.
- Throws:
InvalidProcessModelException- if the specifiedProcessModeldoes not exist
-
getPmIdForEvent
Returns the ID of theProcessModelthat the Event by giveneventPersistentIdbelongs to.- Parameters:
eventPersistentId- Persistent ID of the Event- Returns:
- ID of the Process Model
- Throws:
InvalidEventException- If passed in event persistent ID is invalid
-
getEventsByPersistentId
Returns a ResultList containing Events that correspond to the passed in array of Event persistent IDs.- Parameters:
eventPersistentIds- Array of Event persistent IDs.- Returns:
- ResultList containing
Eventobjects corresponding to the array of given persistent IDs. The result codes can be:ResultList.CODE_VALIDif the action succeeded, orResultList.CODE_INVALIDif the event persistent ID is invalid.
-
setDashboardPageForProcessModel
@Write(K_PROCESS_DESIGN) void setDashboardPageForProcessModel(Long processModelId, Long pageId) throws InvalidProcessModelException, PrivilegeException Sets a page as the Dashboard page for the givenProcessModelbyprocessModelId.- Parameters:
processModelId- Id of theProcessModelto associate the page withpageId- the id of the page to set as the Process Model's Dashboard page- Throws:
InvalidProcessModelException- if theProcessModelspecified does not existPrivilegeException- if the current user does not have permission to associate the Dashboard page for theProcessModel
-
getDashboardPageForProcessModel
@Read(K_PROCESS_DESIGN) Long getDashboardPageForProcessModel(Long processModelId) throws InvalidProcessModelException Returns the dashboard Id that is used for theProcessModelby givenprocessModelId_- Parameters:
processModelId- Id of the process model- Returns:
- Id of the dahsboard
- Throws:
InvalidProcessModelException- if theProcessModelspecified does not exist
-
removeDashboardPageForProcessModel
@Write(K_PROCESS_DESIGN) void removeDashboardPageForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Disassociates the current Dashboard page for the givenProcessModelbyprocessModelId.- Parameters:
processModelId- Id of theProcessModelfor which to remove its current Dashboard page- Throws:
InvalidProcessModelException- if theProcesModelspecified does not existPrivilegeException- if the current user does not have permission to disassociate the Dashboard page from theProcessModel
-
addProcessModelToFavorites
@Write(K_PROCESS_DESIGN) @Deprecated void addProcessModelToFavorites(Long modelId) throws InvalidProcessModelException, PrivilegeException Deprecated.favorites marking is deprecatedAssociates thisProcessModelby givenmodelId_as one of the current user's favorites.- Parameters:
modelId- Id of theProcessModelto be added as favorite.- Throws:
InvalidProcessModelException- if theProcessModelspecified does not existPrivilegeException- if the current user does not have permission to perform this action on the specifiedProcessModelNullPointerException- ifmodelId_is null
-
removeProcessModelFromFavorites
@Write(K_PROCESS_DESIGN) @Deprecated void removeProcessModelFromFavorites(Long modelId) throws InvalidProcessModelException, PrivilegeException Deprecated.favorites marking is deprecatedRemoves thisProcessModelby givenmodelId_as one of the current user's favorites.- Parameters:
modelId- Id of theProcessModelto be removed as favorite.- Throws:
InvalidProcessModelException- if theProcessModelspecified does not existPrivilegeException- if the current user does not have permission to perform this action on the specifiedProcessModelNullPointerException- ifmodelId_is null
-
handleMessages
Sends the messages to the design server to be handled by the Events framework, and returns appropriate result codes. The result codes can be:Message.SUCCESS_CODEif the messages are handled successfullyMessage.JMS_TYPE_NOT_PROVIDED_CODEif the message does not provide a valid JMS typeMessage.INVALID_USERNAME_CODEif the provided username is not valid. If a username is not provided, the result code will return as Message.SUCCESS_CODE because username may be anonymous.Message.DESTINATION_NOT_PROVIDED_CODEif the message does not specify a valid destinationMessage.DUPLICATE_MESSAGE_CODEif the message is a duplicate- Parameters:
messages- an array of InternalMessage objects to be processed by the Events framework- Returns:
- the result codes
- Throws:
NullPointerException- if any of the messages in themessages_array are null or if the array itself is null
-
validateUsernames
Returns an array of Boolean values, Boolean.TRUE if the user given by the username exists and Boolean.FALSE otherwise.- Parameters:
usernames- An array of usernames to validate- Returns:
- An array of Boolean values
-
getProcessVariablesForModel
Returns the list of all process variables in a given process model. If the recursive flag is set to true, process variables for all sub-process models (that have the transparency flag set to true) will also be returned.- Parameters:
pmId- Id of theProcessModelto retrieve the process variables ofrecursive- true if you want to retrieve process variables from the child process models (and their child models in turn).- Returns:
- An array of
ProcessVariableobjects. - Throws:
NullPointerException- ifpmId_is null.
-
getProcessVariablesForModel
@Read(K_PROCESS_DESIGN) ProcessVariable[] getProcessVariablesForModel(@ConvertWith(com.appiancorp.kougar.mapper.parameters.UuidParameterConverter.class) String uuid, boolean recursive) throws InvalidProcessModelException Returns the list of all process variables in a given process model. If the recursive flag is set to true, process variables for all sub-process models (that have the transparency flag set to true) will also be returned.- Parameters:
uuid- UUID which specifies theProcessModelto retrieve the process variables of, as if by getProcessModelIdByUuidrecursive- true if you want to retrieve process variables from the child process models (and their child models in turn).- Returns:
- An array of
ProcessVariableobjects. - Throws:
NullPointerException- ifpmId_is null.InvalidProcessModelException
-
getCurrentNotePaths
Deprecated.since 23.2 -
setCurrentNotePaths
@Deprecated @Write(K_PROCESS_DESIGN) void setCurrentNotePaths(String[] notePaths) throws PrivilegeException Deprecated.since 23.2- Throws:
PrivilegeException
-
getExpressionDependencies
@Read(K_PROCESS_DESIGN) ExpressionDependency getExpressionDependencies(String expressionText, String... parameterNames) Returns the expression dependencies for the givenexpressionText. SeeExpressionDependency- Parameters:
expressionText- Expression for which the dependencies will be determinedparameterNames- Parameters of the expression. Only apply when the expression is part of a rule definition; passnullif it's not a rule definition.- Returns:
- The
ExpressionDependencyfor the given expression
-
getExpressionDependencies
@Read(K_PROCESS_DESIGN) ExpressionDependency[] getExpressionDependencies(String[] expression, String[] parameterNames) Returns an array of theExpressionDependencyobjects for the given expressions.- Parameters:
expression- Array of expressions for which the dependencies are to be determined.parameterNames- Parameters of the expressions. Only apply when the expressions are part of a rule definition; passnullif it's not a rule definition.- Returns:
- An array of
ExpressionDependencyobjects for the given expressions.
-
evaluateExpressionInVariableContext
@Read(K_PROCESS_DESIGN) PartialResult evaluateExpressionInVariableContext(String expression, NamedTypedValue[] typedVariables, NamedTypedValue[] continueParams) -
evaluateExpression
@Read(K_PROCESS_DESIGN) TypedValue evaluateExpression(String expression) throws com.appiancorp.process.expression.ExpressionEvaluationException Evaluate the given expression (including java expression functions). The time zone used for the evaluation is the time zone in the service context used to acquire the service.- Parameters:
expression- The expression to evaluate.- Returns:
- The result of the expression.
- Throws:
com.appiancorp.process.expression.ExpressionEvaluationException- If an error occurs during the evaluation of the expression.
-
externalizeExpression
Replaces rule names with UUIDs within the given expression. Replaces type literals by id with type literals by name of exact type (including deactivated types).- Parameters:
expression- expression with rule namesparameterNames- parameter names in expressions. Used to resolve conflicts between unqualified variables, like unqualified rule inputs in rule definitions, and other rule names- Returns:
- expression with rule names replaced by UUIDs
-
internalizeExpression
Replaces UUIDs with rule names within the given expression. Replaces type literals by name with type literals by id.- Parameters:
expression- expression with UUIDs- Returns:
- expression with UUIds replaced by rule names
-
getRuleIdReferences
@Read(K_PROCESS_DESIGN) Long[] getRuleIdReferences(Long pmId) throws PrivilegeException, InvalidProcessModelException Gets all the rule ids that the expressions within the process model withpmIdid contain, including nested rules referenced by all the expressions.- Parameters:
pmId- process model id- Returns:
- collection of rule ids
- Throws:
InvalidProcessModelException- if theProcessModelspecified bypmIddoes not existPrivilegeException- if the currentUserdoes not have sufficient privileges to view theProcessModel
-
getRuleUuidReferences
Gets all the rule UUID references that the expressions within the process model bean (pm) contain.- Parameters:
pm- process model bean- Returns:
- collection of rule UUID references
-
evaluateExpression
@Read(K_PROCESS_DESIGN) TypedValue evaluateExpression(String expression, NamedTypedValue[] variableValues) throws com.appiancorp.process.expression.ExpressionEvaluationException Evaluate the given expression (including java expression functions). The given variable values are substituted into the expression during evaluation. For example, if the expression is a rule's definition, the variable values should hold values for all of the rule's parameters.- Parameters:
expression- The expression to evaluate.variableValues- Values for all the variables used in the given expression. The name, instance type, and value of each variable value must be set. For example, if the expression is: ="Hello "&!firstName The variableValues array should hold a single NamedTypedValue object with the name "firstName", instance type AppianTypeLong.STRING and a value such as "John".- Returns:
- The result of the expression.
- Throws:
com.appiancorp.process.expression.ExpressionEvaluationException- If an error occurrs during the evaluation of the expression.
-
setProcessDashboardPageForProcessModel
@Write(K_PROCESS_DESIGN) void setProcessDashboardPageForProcessModel(Long processModelId, Long pageId) throws InvalidProcessModelException, PrivilegeException Sets a particular page as the dashboard for every instance of a givenProcessModelbyprocessModelId.- Parameters:
processModelId- The ID of the process model whose processes will be nabbedpageId- The ID of the page that will serve as the dashboard for those processes.- Throws:
InvalidProcessModelException- if theProcessModelspecified does not existPrivilegeException- if the current user does not have permission to associate the Dashboard page for theProcessModel
-
getProcessDashboardPageForProcessModel
@Read(K_PROCESS_DESIGN) Long getProcessDashboardPageForProcessModel(Long processModelId) throws InvalidProcessModelException Returns the dashboard Id that is used for all processes spawned from theProcessModelby givenprocessModelId_- Parameters:
processModelId- Id of the process model- Returns:
- Id of the dahsboard
- Throws:
InvalidProcessModelException- if theProcessModelspecified does not exist
-
removeProcessDashboardPageForProcessModel
@Write(K_PROCESS_DESIGN) void removeProcessDashboardPageForProcessModel(Long processModelId) throws InvalidProcessModelException, PrivilegeException Removes any custom dashboards created for instances of a particular process model. Instances will use the system default dashboard page instead.- Parameters:
processModelId- The ID of the process model- Throws:
InvalidProcessModelException- if theProcessModelspecified does not existPrivilegeException- if the current user does not have permission to associate the Dashboard page for theProcessModel
-
getLingeringTasksForProcessModel
@Read(K_PROCESS_DESIGN) ResultPage getLingeringTasksForProcessModel(Long processModelId, boolean recursive, int startIndex, int batchSize, Integer sortProperty, Integer sortOrder) throws InvalidProcessException, PrivilegeException Returns all instances of lingering nodes in the specified process. Lingering nodes are those whose instances are known only to the execution server and are not notified externally as long as they are active. One example of such nodes is quick tasks.- Parameters:
processModelId- the id of the process model for which the lingering tasks should be retrievedrecursive- whether to return the lingering tasks of the sub-process models of the given process model alsostartIndex- the index into the collection of total results at which to start. Negative numbers are treated as zeros.batchSize- the number of results to return. use ofConstants.COUNT_ALLwill result in the entire collection being returned, but this is STRONGLY discouraged.sortProperty- the property by which the results will be sorted This is one of theSORT_BY_XXXconstants inTaskDesignPropertiessortOrder-Constants.SORT_ORDER_ASCENDINGfor sorting results in ascending order,Constants.SORT_ORDER_DESCENDINGfor sorting results in descending order- Returns:
- a ResultPage of TaskDesignProperties objects
- Throws:
InvalidProcessException- if the given process id is invalidPrivilegeException- if the user doesn't have privileges to see the model
-
validateTypedValues
Validates given TypedValues. This method is free to throw an exception or to return false if any TypedValue passed is invalid for this engine. This engine supports: AppianType.PROCESS_MODEL- Parameters:
typedValues-- Returns:
- true if valid, false if invalid
-
setTimeZone
Set a backend timezone.- Parameters:
tz-
-
setTimeZoneSameAs
Set a backend timezone to have the same rules as another backend timezone the sameAsId.- Parameters:
tz-sameAsId-
-