public class RDBMSDataConnector extends BaseDataConnector
Modifier and Type | Class and Description |
---|---|
static class |
RDBMSDataConnector.DATA_TYPES
Data types understood by this connector.
|
Constructor and Description |
---|
RDBMSDataConnector(DataSource source,
net.sf.ehcache.Cache cache)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addValueByType(Collection values,
RDBMSDataConnector.DATA_TYPES type,
ResultSet resultSet,
int columnIndex)
Adds a value extracted from the result set as a specific type into the value set.
|
protected void |
cacheResult(String principal,
String query,
Map<String,BaseAttribute> attributes)
Caches the attributes resulting from a query.
|
Map<String,RDBMSColumnDescriptor> |
getColumnDescriptor()
Gets the set of column descriptors used to deal with result set data.
|
int |
getQueryTimeout()
Gets the timeout, in seconds, of the SQL query.
|
boolean |
getUsesStoredProcedure()
Gets whether queries made use stored procedures.
|
boolean |
isCachingResuts()
Gets whether this data connector is caching results.
|
boolean |
isConnectionReadOnly()
Gets whether this data connector uses read-only connections.
|
boolean |
isNoResultIsError()
This returns whether this connector will throw an exception if no search results are found.
|
protected Map<String,BaseAttribute> |
processResultSet(ResultSet resultSet)
Converts a SQL query results set into a set of
BaseAttribute s. |
void |
registerTemplate(TemplateEngine engine,
String template)
This sets the underlying template engine and registers the supplied template.
|
Map<String,BaseAttribute> |
resolve(ShibbolethResolutionContext resolutionContext)
Performs the attribute resolution for this plugin.
|
protected Map<String,BaseAttribute> |
retrieveAttributesFromCache(String principal,
String query)
Attempts to retrieve the attributes from the cache.
|
protected Map<String,BaseAttribute> |
retrieveAttributesFromDatabase(String query)
Attempts to retrieve the attribute from the database.
|
void |
setConnectionReadOnly(boolean isReadOnly)
Sets whether this data connector uses read-only connections.
|
void |
setNoResultIsError(boolean isError)
This sets whether this connector will throw an exception if no search results are found.
|
void |
setQueryTimeout(int timeout)
Sets the timeout, in seconds, of the SQL query.
|
void |
setUsesStoredProcedure(boolean storedProcedure)
Sets whether queries made use stored procedures.
|
void |
validate()
Validate the internal state of this plug-in.
|
getFailoverDependencyId, setFailoverDependencyIds
getDependencyIds, getId, getValuesFromAllDependencies, getValuesFromAttributeDependency, getValuesFromConnectorDependency, setId
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDependencyIds, getId
public RDBMSDataConnector(DataSource source, net.sf.ehcache.Cache cache)
source
- data source used to retrieve connectionscache
- cache used to cache resultspublic void registerTemplate(TemplateEngine engine, String template)
engine
- template engine used to generate the querytemplate
- template used to generate the querypublic boolean isCachingResuts()
public int getQueryTimeout()
public void setQueryTimeout(int timeout)
timeout
- timeout, in seconds, of the SQL querypublic boolean isConnectionReadOnly()
public void setConnectionReadOnly(boolean isReadOnly)
isReadOnly
- whether this data connector uses read-only connectionspublic boolean getUsesStoredProcedure()
public void setUsesStoredProcedure(boolean storedProcedure)
storedProcedure
- whether queries made use stored procedurespublic boolean isNoResultIsError()
boolean
public void setNoResultIsError(boolean isError)
isError
- boolean
public Map<String,RDBMSColumnDescriptor> getColumnDescriptor()
public void validate() throws AttributeResolutionException
AttributeResolutionException
- if the plug-in has an invalid internal statepublic Map<String,BaseAttribute> resolve(ShibbolethResolutionContext resolutionContext) throws AttributeResolutionException
resolutionContext
- the context for the resolutionAttributeResolutionException
- the problem that occurred during the resolutionprotected Map<String,BaseAttribute> retrieveAttributesFromCache(String principal, String query) throws AttributeResolutionException
principal
- the principal name of the user the attributes are forquery
- query used to generate the attributesAttributeResolutionException
- thrown if there is a problem retrieving data from the cacheprotected Map<String,BaseAttribute> retrieveAttributesFromDatabase(String query) throws AttributeResolutionException
query
- query used to get the attributesAttributeResolutionException
- thrown if there is a problem retrieving data from the database or
transforming that data into BaseAttribute
sprotected Map<String,BaseAttribute> processResultSet(ResultSet resultSet) throws AttributeResolutionException
BaseAttribute
s.resultSet
- the result set to convertAttributeResolutionException
- thrown if there is a problem converting the result set into attributesprotected void addValueByType(Collection values, RDBMSDataConnector.DATA_TYPES type, ResultSet resultSet, int columnIndex) throws SQLException
values
- set to add values intotype
- type the value should be extracted asresultSet
- result set, on the current row, to extract the value fromcolumnIndex
- index of the column from which to extract the attributeSQLException
- thrown if value can not retrieved from the result setprotected void cacheResult(String principal, String query, Map<String,BaseAttribute> attributes)
principal
- the principal name of the user the attributes are forquery
- the query that generated the attributesattributes
- the results of the queryCopyright © 1999–2014. All rights reserved.