public class ConnectorServiceImpl extends java.lang.Object implements ConnectorService
| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
CONNECTOR_CACHE_NAME |
DONE, FAILED, SKIPPED, TO_BE_EXECUTED, TO_RE_EXECUTE| Constructor and Description |
|---|
ConnectorServiceImpl(CacheService cacheService,
ConnectorExecutor connectorExecutor,
ExpressionResolverService expressionResolverService,
OperationService operationService,
DependencyService dependencyService,
TechnicalLoggerService logger,
TimeTracker timeTracker,
ProcessResourcesService processResourcesService) |
| Modifier and Type | Method and Description |
|---|---|
void |
addConnectorImplementation(java.lang.Long processDefinitionId,
java.lang.String name,
byte[] content) |
protected java.lang.String |
buildConnectorImplementationKey(long rootDefinitionId,
java.lang.String connectorId,
java.lang.String version) |
protected void |
checkConnectorImplementationIsValid(SConnectorImplementationDescriptor connectorImplementationDescriptor,
java.lang.String connectorId,
java.lang.String connectorVersion) |
void |
disconnect(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) |
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 expressionContext)
Execute a connector instance by given connectorDefinitionId and connectorDefinitionVersion
|
void |
executeOutputOperation(java.util.List<SOperation> outputs,
SExpressionContext expressionContext,
ConnectorResult result) |
SConnectorImplementationDescriptor |
getConnectorImplementation(long processDefinitionId,
java.lang.String connectorId,
java.lang.String connectorVersion)
Get connector implementation descriptor for specified connector in a process definition.
|
SConnectorImplementationDescriptor |
getConnectorImplementationDescriptor(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 paginated
|
java.lang.Long |
getNumberOfConnectorImplementations(long processDefinitionId) |
protected boolean |
loadConnectors(long processDefinitionId) |
boolean |
loadConnectors(SProcessDefinition sDefinition)
Load connectors for given process definition and tenant, connectors will be stored in cache after loading
|
void |
removeConnectorImplementations(long processDefinitionId) |
void |
setConnectorImplementation(SProcessDefinition sProcessDefinition,
java.lang.String connectorId,
java.lang.String connectorVersion,
byte[] connectorImplementationArchive)
Set connector implementation for id and version specified connector.
|
protected static final java.lang.String CONNECTOR_CACHE_NAME
public ConnectorServiceImpl(CacheService cacheService, ConnectorExecutor connectorExecutor, ExpressionResolverService expressionResolverService, OperationService operationService, DependencyService dependencyService, TechnicalLoggerService logger, TimeTracker timeTracker, ProcessResourcesService processResourcesService)
public 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
executeConnector in interface ConnectorServiceSConnectorExceptionpublic SConnectorImplementationDescriptor getConnectorImplementationDescriptor(long processDefinitionId, java.lang.String connectorId, java.lang.String version) throws SConnectorException
getConnectorImplementationDescriptor in interface ConnectorServiceSConnectorExceptionpublic void executeOutputOperation(java.util.List<SOperation> outputs, SExpressionContext expressionContext, ConnectorResult result) throws SConnectorException
executeOutputOperation in interface ConnectorServiceSConnectorExceptionpublic void disconnect(ConnectorResult result) throws SConnectorException
disconnect in interface ConnectorServiceSConnectorExceptionprotected java.lang.String buildConnectorImplementationKey(long rootDefinitionId,
java.lang.String connectorId,
java.lang.String version)
public 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 expressionContext) throws SConnectorException
ConnectorServiceexecuteMultipleEvaluation in interface ConnectorServiceprocessDefinitionId - 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 connectorexpressionContext - The expression contextSConnectorException - Error thrown if has exceptions during the connector executingpublic 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
evaluateInputParameters in interface ConnectorServiceSExpressionTypeUnknownExceptionSExpressionEvaluationExceptionSExpressionDependencyMissingExceptionSInvalidExpressionExceptionpublic boolean loadConnectors(SProcessDefinition sDefinition) throws SConnectorException
ConnectorServiceloadConnectors in interface ConnectorServicesDefinition - The process definitionSConnectorException - Error thrown if has exceptions during the connector loadingprotected boolean loadConnectors(long processDefinitionId)
throws SConnectorException
SConnectorExceptionpublic void setConnectorImplementation(SProcessDefinition sProcessDefinition, java.lang.String connectorId, java.lang.String connectorVersion, byte[] connectorImplementationArchive) throws SConnectorException, SInvalidConnectorImplementationException
ConnectorServicesetConnectorImplementation in interface ConnectorServicesProcessDefinition - The process definition which the connector belongs toconnectorId - Id of connector definition.connectorVersion - Version of connector definitionconnectorImplementationArchive - zip byte array containing the connector implementation informationSConnectorException - Error thrown if has exceptions during the connector implementation settingSInvalidConnectorImplementationExceptionprotected void checkConnectorImplementationIsValid(SConnectorImplementationDescriptor connectorImplementationDescriptor, java.lang.String connectorId, java.lang.String connectorVersion) throws SConnectorException, SInvalidConnectorImplementationException
public java.lang.Long getNumberOfConnectorImplementations(long processDefinitionId)
throws SConnectorException
getNumberOfConnectorImplementations in interface ConnectorServiceprocessDefinitionId - the id of the process definitionSConnectorExceptionpublic java.util.List<SConnectorImplementationDescriptor> getConnectorImplementations(long processDefinitionId, int fromIndex, int numberPerPage, java.lang.String field, OrderByType order) throws SConnectorException
ConnectorServicegetConnectorImplementations in interface ConnectorServiceprocessDefinitionId - 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 DESCSConnectorException - Error thrown if has exceptions during the connector implementations retrievepublic SConnectorImplementationDescriptor getConnectorImplementation(long processDefinitionId, java.lang.String connectorId, java.lang.String connectorVersion) throws SConnectorException
ConnectorServicegetConnectorImplementation in interface ConnectorServiceprocessDefinitionId - Identifier of process definitionconnectorId - id of connector definitionconnectorVersion - version of connector definitionSConnectorException - Error thrown if has exceptions during the connector implementation getpublic java.util.List<SBARResource> getConnectorImplementations(long processDefinitionId, int from, int numberOfElements) throws SBonitaReadException
getConnectorImplementations in interface ConnectorServiceSBonitaReadExceptionpublic void addConnectorImplementation(java.lang.Long processDefinitionId,
java.lang.String name,
byte[] content)
throws SRecorderException
addConnectorImplementation in interface ConnectorServiceSRecorderExceptionpublic void removeConnectorImplementations(long processDefinitionId)
throws SBonitaReadException,
SRecorderException
removeConnectorImplementations in interface ConnectorServiceSBonitaReadExceptionSRecorderException