|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.directory.server.core.partition.AbstractPartition
com.ca.jcs.BaseConnector
com.ca.jcs.meta.MetaConnector
com.ca.jcs.jdbc.JDBCMetaConnector
public class JDBCMetaConnector
A dynamic JDBC connector driven by metadata which specifies all mapping information for Account, Group and Connection (Endpoint) classes.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class com.ca.jcs.meta.MetaConnector |
|---|
MetaConnector.FilterAware, MetaConnector.SearchFinishedException |
| Field Summary | |
|---|---|
static String |
CONN_TABLE_SPACE
Optional multi-valued attribute containing names of accessible tablespaces for database server instance connected to. |
protected String |
databaseVendor
|
protected com.ca.commons.sql.Vendor |
vendor
|
protected String |
vendorSequenceSyntax
|
| Fields inherited from interface com.ca.jcs.Connector |
|---|
STATE_DELETING |
| Fields inherited from interface org.apache.directory.server.core.partition.Partition |
|---|
ALIAS_ATTRIBUTE, ALIAS_OBJECT |
| Constructor Summary | |
|---|---|
JDBCMetaConnector(ConnectorType type,
String name,
Logger log,
ConnectorConfig config)
|
|
| Method Summary | |
|---|---|
void |
activate()
Calls super.activate() which creates and registers the connection manager, as well as notifying this connector instance
of its metadata. |
AttributeStyleOpProcessor |
createAttributeStyleOpProcessor()
|
ConnectionManager |
createConnectionManager()
Not expected to to be used universally, see comments in JDBCConnectionManager. |
MethodStyleOpProcessor |
createMethodStyleOpProcessor()
Must be overridden by connectors that support the concept of method-style op processing, return null unless overridden. |
ScriptStyleOpProcessor |
createScriptStyleOpProcessor()
Must be overridden by connectors that support the concept of script-style op processing, return null unless overridden. |
TransactionManager |
createTransactionManager()
Returns a transaction manager arranges for the transaction be used for all nested updates within the same thread. |
void |
deactivate()
Deactivates this connector's connection manager if one exists. |
String |
getDatabaseVendor()
|
DataSource |
getDataSource()
|
Collection<? extends MetaConnector.FilterAware> |
getFilterAwareness()
Identify supported search filter types |
JDBCMetaConnectorConfig |
getJDBCConnectorConfig()
|
String |
getJDBCUsername()
Returns the JDBC Username for this connection |
String |
getKeyForStreamableObject(String connClassName)
|
com.ca.commons.sql.Vendor |
getVendor()
|
boolean |
isBehaviourImperfectFilter()
|
boolean |
isBehaviourSearchObjAsLookup()
Behavioural method which should be overridden by derived classes if they want object-scope searches to be treated as lookup()s on the object referred to
by the baseName. |
boolean |
isBehaviourSearchSingleClass()
If a derived connector's implementational approach requires that it's OpProcessor.doSearch(com.ca.jcs.ObjectInfo, com.ca.jcs.filter.FilterInfo, java.util.Map
method is called is only called for a single objectclass at a time, then they should
override this method to return true. |
void |
notifyMetaData(MetaObjectClassMappings mappings,
boolean opBindChange)
Used to inform connector of new metadata, which may trigger the creation / destruction of various styles of op processors depending on the exact content of the new metadata (and whether concrete connector implements each style). |
protected void |
setDatabaseVendor()
Set database vendor name by looking it up from database's JDBC metadata. |
void |
setDataSource(DataSource dataSource)
|
String |
toString()
Returns a string of the form "class:name [suffix]". |
| Methods inherited from class org.apache.directory.server.core.partition.AbstractPartition |
|---|
destroy, doDestroy, getConfiguration, getFactoryConfiguration, getSuffix, hasEntry, init, isInitialized, lookup, modify, sync |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.ca.jcs.PartitionOps |
|---|
lookup, modify, sync |
| Methods inherited from interface org.apache.directory.server.core.partition.Partition |
|---|
destroy, getSuffix, hasEntry, init, isInitialized, lookup, modify, sync |
| Field Detail |
|---|
protected String databaseVendor
protected com.ca.commons.sql.Vendor vendor
protected String vendorSequenceSyntax
public static final String CONN_TABLE_SPACE
| Constructor Detail |
|---|
public JDBCMetaConnector(ConnectorType type,
String name,
Logger log,
ConnectorConfig config)
| Method Detail |
|---|
public boolean isBehaviourSearchObjAsLookup()
BaseConnectorlookup()s on the object referred to
by the baseName.
isBehaviourSearchObjAsLookup in class BaseConnectorpublic boolean isBehaviourImperfectFilter()
public boolean isBehaviourSearchSingleClass()
BaseConnectorOpProcessor.doSearch(com.ca.jcs.ObjectInfo, com.ca.jcs.filter.FilterInfo, java.util.Map, javax.naming.directory.SearchControls)
method is called is only called for a single objectclass at a time, then they should
override this method to return true. This will cause the framework, for example, to decompose a
subtree search with a filter like (objectclass=*) into a separate
doSearch() call for each defined objectclass.
isBehaviourSearchSingleClass in class BaseConnectorpublic JDBCMetaConnectorConfig getJDBCConnectorConfig()
public com.ca.commons.sql.Vendor getVendor()
public String getDatabaseVendor()
protected void setDatabaseVendor()
throws NamingException
NamingException
public void activate()
throws NamingException
MetaConnectorsuper.activate() which creates and registers the connection manager, as well as notifying this connector instance
of its metadata.
activate in interface Activatableactivate in interface Connectoractivate in class MetaConnectorNamingException
public void deactivate()
throws NamingException
BaseConnector
deactivate in interface Activatabledeactivate in interface Connectordeactivate in class MetaConnectorNamingExceptionpublic AttributeStyleOpProcessor createAttributeStyleOpProcessor()
public MethodStyleOpProcessor createMethodStyleOpProcessor()
BaseConnector
createMethodStyleOpProcessor in interface OpProcessorStyleFactorycreateMethodStyleOpProcessor in class BaseConnectorpublic ScriptStyleOpProcessor createScriptStyleOpProcessor()
BaseConnector
createScriptStyleOpProcessor in interface OpProcessorStyleFactorycreateScriptStyleOpProcessor in class BaseConnectorpublic DataSource getDataSource()
public void setDataSource(DataSource dataSource)
public String getJDBCUsername()
throws NamingException
NamingExceptionpublic ConnectionManager createConnectionManager()
JDBCConnectionManager.
createConnectionManager in interface ConnectorcreateConnectionManager in class BaseConnectorpublic TransactionManager createTransactionManager()
createTransactionManager in interface ConnectorcreateTransactionManager in class BaseConnectorpublic String toString()
BaseConnector
toString in class BaseConnector
public void notifyMetaData(MetaObjectClassMappings mappings,
boolean opBindChange)
throws NamingException
MetaConnectorBaseConnector.setCachingRequired(boolean) to true if mappings has one more objectclasses in it
with connectorMapToAmbiguous= set on their naming attributes. Also sets
nonFilterableAttrs if any attributes have the flag MD_IS_CONNECTOR_FILTERABLE set
false.
notifyMetaData in class MetaConnectormappings - New attribute-style mappings calculated by parent connector type.opBindChange - True if op bindings changed (which may effect method-style or
script-style processors or both).
NamingExceptionpublic String getKeyForStreamableObject(String connClassName)
public Collection<? extends MetaConnector.FilterAware> getFilterAwareness()
getFilterAwareness in class MetaConnector
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||