Interface ConnectorService
-
- All Known Implementing Classes:
ConnectorServiceDecorator,ConnectorServiceImpl
public interface ConnectorService- Since:
- 6.0
- Author:
- Baptiste Mesta, Matthieu Chaffotte, Elias Ricken de Medeiros
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDONEstatic java.lang.StringFAILEDstatic java.lang.StringSKIPPEDstatic java.lang.StringTO_BE_EXECUTEDstatic java.lang.StringTO_RE_EXECUTE
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddConnectorImplementation(java.lang.Long processDefinitionId, java.lang.String name, byte[] content)voiddisconnect(ConnectorResult result)java.util.Map<java.lang.String,java.lang.Object>evaluateInputParameters(java.lang.String connectorId, java.util.Map<java.lang.String,SExpression> parameters, SExpressionContext sExpressionContext, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.io.Serializable>> inputValues)java.util.concurrent.CompletableFuture<ConnectorResult>executeConnector(long processDefinitionId, SConnectorInstance sConnectorInstance, SConnectorImplementationDescriptor connectorImplementationDescriptor, java.lang.ClassLoader classLoader, java.util.Map<java.lang.String,java.lang.Object> inputParameters)ConnectorResultexecuteMultipleEvaluation(long processDefinitionId, java.lang.String connectorDefinitionId, java.lang.String connectorDefinitionVersion, java.util.Map<java.lang.String,SExpression> connectorInputParameters, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.io.Serializable>> inputValues, java.lang.ClassLoader classLoader, SExpressionContext sexpContext)Execute a connector instance by given connectorDefinitionId and connectorDefinitionVersionvoidexecuteOutputOperation(java.util.List<SOperation> outputs, SExpressionContext expressionContext, ConnectorResult result)SConnectorImplementationDescriptorgetConnectorImplementation(long processDefinitionId, java.lang.String connectorId, java.lang.String connectorVersion)Get connector implementation descriptor for specified connector in a process definition.SConnectorImplementationDescriptorgetConnectorImplementationDescriptor(long processDefinitionId, java.lang.String connectorId, java.lang.String version)java.util.List<SBARResource>getConnectorImplementations(long processDefinitionId, int from, int numberOfElements)java.util.List<SConnectorImplementationDescriptor>getConnectorImplementations(long processDefinitionId, int fromIndex, int numberPerPage, java.lang.String field, OrderByType order)Get a list of connector implementation descriptors for id specified process definition, the returned list is paginatedjava.lang.LonggetNumberOfConnectorImplementations(long processDefinitionId)booleanloadConnectors(SProcessDefinition sDefinition)Load connectors for given process definition and tenant, connectors will be stored in cache after loadingvoidremoveConnectorImplementations(long processDefinitionId)voidsetConnectorImplementation(SProcessDefinition sProcessDefinition, java.lang.String connectorId, java.lang.String connectorVersion, byte[] connectorImplementationArchive)Set connector implementation for id and version specified connector.
-
-
-
Field Detail
-
TO_BE_EXECUTED
static final java.lang.String TO_BE_EXECUTED
- See Also:
- Constant Field Values
-
DONE
static final java.lang.String DONE
- See Also:
- Constant Field Values
-
FAILED
static final java.lang.String FAILED
- See Also:
- Constant Field Values
-
SKIPPED
static final java.lang.String SKIPPED
- See Also:
- Constant Field Values
-
TO_RE_EXECUTE
static final java.lang.String TO_RE_EXECUTE
- See Also:
- Constant Field Values
-
-
Method Detail
-
executeMultipleEvaluation
ConnectorResult executeMultipleEvaluation(long processDefinitionId, java.lang.String connectorDefinitionId, java.lang.String connectorDefinitionVersion, java.util.Map<java.lang.String,SExpression> connectorInputParameters, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.io.Serializable>> inputValues, java.lang.ClassLoader classLoader, SExpressionContext sexpContext) throws SConnectorException
Execute a connector instance by given connectorDefinitionId and connectorDefinitionVersion- Parameters:
processDefinitionId- The identifier of process definitionconnectorDefinitionId- The identifier of connector definitionconnectorDefinitionVersion- The version of connector definitionconnectorInputParameters- The input of connectorinputValues- The input values of connectorclassLoader- The class loader used to load and run connectorsexpContext- The expression context- Returns:
- The output after connector executing
- Throws:
SConnectorException- Error thrown if has exceptions during the connector executing
-
loadConnectors
boolean loadConnectors(SProcessDefinition sDefinition) throws SConnectorException
Load connectors for given process definition and tenant, connectors will be stored in cache after loading- Parameters:
sDefinition- The process definition- Returns:
- true if all connectors found have all them dependencies resolved and are correctly loaded
- Throws:
SConnectorException- Error thrown if has exceptions during the connector loading
-
setConnectorImplementation
void setConnectorImplementation(SProcessDefinition sProcessDefinition, java.lang.String connectorId, java.lang.String connectorVersion, byte[] connectorImplementationArchive) throws SConnectorException, SInvalidConnectorImplementationException
Set connector implementation for id and version specified connector. Store all connector related files if they are not existed and replace the old implementation with the new one in file system. Delete former and load current connectors in cache.- Parameters:
sProcessDefinition- The process definition which the connector belongs toconnectorId- Id of connector definition.connectorVersion- Version of connector definitionconnectorImplementationArchive- zip byte array containing the connector implementation information- Throws:
SConnectorException- Error thrown if has exceptions during the connector implementation settingSInvalidConnectorImplementationException
-
getConnectorImplementations
java.util.List<SConnectorImplementationDescriptor> getConnectorImplementations(long processDefinitionId, int fromIndex, int numberPerPage, java.lang.String field, OrderByType order) throws SConnectorException
Get a list of connector implementation descriptors for id specified process definition, the returned list is paginated- Parameters:
processDefinitionId- Identifier of process definitionfromIndex- Start index of connector recordnumberPerPage- Number of connectors we want to get. Maximum number of connectors returned.field- The field that the result ordered byorder- The order, ACS or DESC- Returns:
- A list of all satisfied connector implementation descriptor objects
- Throws:
SConnectorException- Error thrown if has exceptions during the connector implementations retrieve
-
getConnectorImplementation
SConnectorImplementationDescriptor getConnectorImplementation(long processDefinitionId, java.lang.String connectorId, java.lang.String connectorVersion) throws SConnectorException
Get connector implementation descriptor for specified connector in a process definition.- Parameters:
processDefinitionId- Identifier of process definitionconnectorId- id of connector definitionconnectorVersion- version of connector definition- Returns:
- connector implementation descriptor object
- Throws:
SConnectorException- Error thrown if has exceptions during the connector implementation get
-
evaluateInputParameters
java.util.Map<java.lang.String,java.lang.Object> evaluateInputParameters(java.lang.String connectorId, java.util.Map<java.lang.String,SExpression> parameters, SExpressionContext sExpressionContext, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.io.Serializable>> inputValues) throws SExpressionTypeUnknownException, SExpressionEvaluationException, SExpressionDependencyMissingException, SInvalidExpressionException- Parameters:
parameters-sExpressionContext-inputValues-- Returns:
- Throws:
SExpressionTypeUnknownExceptionSExpressionEvaluationExceptionSExpressionDependencyMissingExceptionSInvalidExpressionException
-
getConnectorImplementationDescriptor
SConnectorImplementationDescriptor getConnectorImplementationDescriptor(long processDefinitionId, java.lang.String connectorId, java.lang.String version) throws SConnectorException
- Throws:
SConnectorException
-
executeOutputOperation
void executeOutputOperation(java.util.List<SOperation> outputs, SExpressionContext expressionContext, ConnectorResult result) throws SConnectorException
- Parameters:
outputs-expressionContext-result-- Throws:
SConnectorException
-
executeConnector
java.util.concurrent.CompletableFuture<ConnectorResult> executeConnector(long processDefinitionId, SConnectorInstance sConnectorInstance, SConnectorImplementationDescriptor connectorImplementationDescriptor, java.lang.ClassLoader classLoader, java.util.Map<java.lang.String,java.lang.Object> inputParameters) throws SConnectorException
- Parameters:
processDefinitionId-sConnectorInstance-connectorImplementationDescriptor-classLoader-inputParameters-- Returns:
- the result of the connector execution
- Throws:
SConnectorException
-
disconnect
void disconnect(ConnectorResult result) throws SConnectorException
- Parameters:
result-- Throws:
SConnectorException
-
getNumberOfConnectorImplementations
java.lang.Long getNumberOfConnectorImplementations(long processDefinitionId) throws SConnectorException- Parameters:
processDefinitionId- the id of the process definition- Returns:
- the number of connector implementation for this process definition
- Throws:
SConnectorException
-
getConnectorImplementations
java.util.List<SBARResource> getConnectorImplementations(long processDefinitionId, int from, int numberOfElements) throws SBonitaReadException
- Throws:
SBonitaReadException
-
addConnectorImplementation
void addConnectorImplementation(java.lang.Long processDefinitionId, java.lang.String name, byte[] content) throws SRecorderException- Throws:
SRecorderException
-
removeConnectorImplementations
void removeConnectorImplementations(long processDefinitionId) throws SBonitaReadException, SRecorderException
-
-