Class CompositeConnectionResolver
java.lang.Object
org.pipservices3.components.connect.CompositeConnectionResolver
- All Implemented Interfaces:
org.pipservices3.commons.config.IConfigurable,org.pipservices3.commons.refer.IReferenceable
public class CompositeConnectionResolver
extends Object
implements org.pipservices3.commons.refer.IReferenceable, org.pipservices3.commons.config.IConfigurable
Helper class that resolves connection and credential parameters,
validates them and generates connection options.
### Configuration parameters ###
- - connection(s):
- - discovery_key: (optional) a key to retrieve the connection from
IDiscovery - - protocol: communication protocol
- - host: host name or IP address
- - port: port number
- - uri: resource URI or connection string with all parameters in it
- - discovery_key: (optional) a key to retrieve the connection from
- - credential(s):
- - store_key: (optional) a key to retrieve the credentials from
ICredentialStore - - username: user name
- - password: user password
- - store_key: (optional) a key to retrieve the credentials from
In addition to standard parameters CredentialParams may contain any number of custom parameters
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanThe cluster support (multiple connections)protected ConnectionResolverThe connections resolver.protected CredentialResolverThe credentials resolver.protected intThe default port numberprotected StringThe default protocolprotected org.pipservices3.commons.config.ConfigParamsThe connection options -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.pipservices3.commons.config.ConfigParamscompose(String correlationId, List<ConnectionParams> connections, CredentialParams credential, org.pipservices3.commons.config.ConfigParams parameters) Composes Composite connection options from connection and credential parameters.voidconfigure(org.pipservices3.commons.config.ConfigParams configParams) Configures component by passing configuration parameters.protected org.pipservices3.commons.config.ConfigParamsfinalizeOptions(org.pipservices3.commons.config.ConfigParams options) Finalize merged options This method can be overriden in child classes.protected org.pipservices3.commons.config.ConfigParamsmergeConnection(org.pipservices3.commons.config.ConfigParams options, ConnectionParams connection) Merges connection options with connection parameters This method can be overriden in child classes.protected org.pipservices3.commons.config.ConfigParamsmergeCredential(org.pipservices3.commons.config.ConfigParams options, CredentialParams credential) Merges connection options with credential parameters This method can be overriden in child classes.protected org.pipservices3.commons.config.ConfigParamsmergeOptional(org.pipservices3.commons.config.ConfigParams options, org.pipservices3.commons.config.ConfigParams parameters) Merges connection options with optional parameters This method can be overriden in child classes.org.pipservices3.commons.config.ConfigParamsvoidsetReferences(org.pipservices3.commons.refer.IReferences references) Sets references to dependent components.protected voidvalidateConnection(String correlationId, ConnectionParams connection) protected voidvalidateCredential(String correlationId, CredentialParams credential) Validates credential parameters and throws an exception on error.
-
Field Details
-
_options
protected org.pipservices3.commons.config.ConfigParams _optionsThe connection options -
_connectionResolver
The connections resolver. -
_credentialResolver
The credentials resolver. -
_clusterSupported
protected boolean _clusterSupportedThe cluster support (multiple connections) -
_defaultProtocol
The default protocol -
_defaultPort
protected int _defaultPortThe default port number
-
-
Constructor Details
-
CompositeConnectionResolver
public CompositeConnectionResolver()
-
-
Method Details
-
configure
public void configure(org.pipservices3.commons.config.ConfigParams configParams) throws org.pipservices3.commons.errors.ConfigException Configures component by passing configuration parameters.- Specified by:
configurein interfaceorg.pipservices3.commons.config.IConfigurable- Parameters:
configParams- configuration parameters to be set.- Throws:
org.pipservices3.commons.errors.ConfigException
-
setReferences
public void setReferences(org.pipservices3.commons.refer.IReferences references) throws org.pipservices3.commons.refer.ReferenceException, org.pipservices3.commons.errors.ConfigException Sets references to dependent components.- Specified by:
setReferencesin interfaceorg.pipservices3.commons.refer.IReferenceable- Parameters:
references- references to locate the component dependencies.- Throws:
org.pipservices3.commons.refer.ReferenceExceptionorg.pipservices3.commons.errors.ConfigException
-
resolve
public org.pipservices3.commons.config.ConfigParams resolve(String correlationId) throws org.pipservices3.commons.errors.ApplicationException - Throws:
org.pipservices3.commons.errors.ApplicationException
-
compose
public org.pipservices3.commons.config.ConfigParams compose(String correlationId, List<ConnectionParams> connections, CredentialParams credential, org.pipservices3.commons.config.ConfigParams parameters) throws org.pipservices3.commons.errors.ConfigException Composes Composite connection options from connection and credential parameters.- Parameters:
correlationId- (optional) transaction id to trace execution through call chain.connections- connection parameterscredential- credential parametersparameters- optional parameters- Returns:
- resolved options.
- Throws:
org.pipservices3.commons.errors.ConfigException
-
validateConnection
protected void validateConnection(String correlationId, ConnectionParams connection) throws org.pipservices3.commons.errors.ConfigException - Throws:
org.pipservices3.commons.errors.ConfigException
-
validateCredential
Validates credential parameters and throws an exception on error. This method can be overriden in child classes.- Parameters:
correlationId- (optional) transaction id to trace execution through call chain.credential- credential parameters to be validated
-
mergeConnection
protected org.pipservices3.commons.config.ConfigParams mergeConnection(org.pipservices3.commons.config.ConfigParams options, ConnectionParams connection) Merges connection options with connection parameters This method can be overriden in child classes.- Parameters:
options- connection optionsconnection- connection parameters to be merged- Returns:
- merged connection options.
-
mergeCredential
protected org.pipservices3.commons.config.ConfigParams mergeCredential(org.pipservices3.commons.config.ConfigParams options, CredentialParams credential) Merges connection options with credential parameters This method can be overriden in child classes.- Parameters:
options- connection optionscredential- credential parameters to be merged- Returns:
- merged connection options.
-
mergeOptional
protected org.pipservices3.commons.config.ConfigParams mergeOptional(org.pipservices3.commons.config.ConfigParams options, org.pipservices3.commons.config.ConfigParams parameters) Merges connection options with optional parameters This method can be overriden in child classes.- Parameters:
options- connection optionsparameters- optional parameters to be merged- Returns:
- merged connection options.
-
finalizeOptions
protected org.pipservices3.commons.config.ConfigParams finalizeOptions(org.pipservices3.commons.config.ConfigParams options) Finalize merged options This method can be overriden in child classes.- Parameters:
options- connection options- Returns:
- finalized connection options
-