com.ca.jcs.ora
Class ORAAttributeStyleOpProcessor

java.lang.Object
  extended by com.ca.jcs.processor.AbstractBaseProcessor
      extended by com.ca.jcs.processor.AbstractAttributeStyleOpProcessor
          extended by com.ca.jcs.processor.AbstractAttributeStyleOpProcessorAssocDirect
              extended by com.ca.jcs.assoc.DefaultAssocDirectAttributeOpProcessor
                  extended by com.ca.jcs.assoc.DefaultAssocAttributeOpProcessor
                      extended by com.ca.jcs.jdbc.JDBCAttributeStyleOpProcessor
                          extended by com.ca.jcs.ora.ORAAttributeStyleOpProcessor
All Implemented Interfaces:
Activatable, AssocAttributeOpProcessor, AssocDirectAttributeOpProcessor, AssocIndirectAttributeOpProcessor, AttributeStyleOpProcessor, OpProcessor

public class ORAAttributeStyleOpProcessor
extends JDBCAttributeStyleOpProcessor

An oracle connector driven by metadata which specifies all mapping for account, packages, procedures, profiles, roles.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.ca.jcs.jdbc.JDBCAttributeStyleOpProcessor
JDBCAttributeStyleOpProcessor.VendorTypeHandling
 
Nested classes/interfaces inherited from class com.ca.jcs.assoc.DefaultAssocDirectAttributeOpProcessor
DefaultAssocDirectAttributeOpProcessor.AssocAttrValue, DefaultAssocDirectAttributeOpProcessor.AssociationStyle
 
Nested classes/interfaces inherited from interface com.ca.jcs.processor.OpProcessor
OpProcessor.MethodName
 
Field Summary
 
Fields inherited from class com.ca.jcs.jdbc.JDBCAttributeStyleOpProcessor
connector, dataSource, generatedOverrideStatus, log, searchTimeout, SQL_FLATTENER, transactionManager, transactionTimeout
 
Fields inherited from class com.ca.jcs.assoc.DefaultAssocAttributeOpProcessor
proxiedAssocSelf
 
Fields inherited from class com.ca.jcs.assoc.DefaultAssocDirectAttributeOpProcessor
metaConnector
 
Fields inherited from class com.ca.jcs.processor.AbstractAttributeStyleOpProcessor
proxiedSelf
 
Fields inherited from class com.ca.jcs.processor.AbstractBaseProcessor
ldapExceptionPrefix
 
Constructor Summary
ORAAttributeStyleOpProcessor(BaseConnector connector)
           
 
Method Summary
 void activate()
          Sets proxiedSelf to OpBindings-aware proxy if any OpBindings are configured, otherwise left assigned to "this".
 void addAttrAssocs(ObjectInfo objInfo, Association assoc, Attribute attr, Object context)
          Note delegates to super class if assoc is of direct flavour.
 void deactivate()
          We also define this for symmetry as activate() is defined.
 void doAdd(ObjectInfo objInfo, Attributes attrs)
          Handle adding new objects, both normal and compound.
 void doDelete(ObjectInfo objInfo)
          Delete the object referenced by objInfo from a managed system.
 void doModify(ObjectInfo objInfo, ModificationItem[] modItems)
          Process the provided modifications, where attributes involved in 1:1 and 1:N associative relationships are split out for separate individual processing.
 void doModifyAssocs(ObjectInfo objInfo, AssocModificationItem[] items, Object context)
          Process a single 1:1 or 1:N associative relationship (each requires one or more separate SQL operations).
 void doModifyRn(ObjectInfo objInfo, Rdn newRdn)
          Oracle doesn't support rename operations for it's users roles etc.
 void doModifyRnAssocs(ObjectInfo objInfo, Rdn newRnValue, Object context)
          Update association attributes after the target object denoted by objInfo (which still refers to the old name) is renamed.
 void doMove(ObjectInfo objInfo, Name newParentName)
          Move managed object to a new parent.
 void doMove(ObjectInfo objInfo, Name newParentName, Rdn newRn)
          Move the managed object referenced by objInfo to a new parent whilst also changing its RDN (of form "attr=value").
 void doMoveAssocs(ObjectInfo objInfo, Name newName, Object context)
          Update association attributes after the target object denoted by objInfo (which still refers to the old name) is moved.
 void removeAttrAssocs(ObjectInfo objInfo, Association assoc, Attribute attr, Object context)
          Note delegates to super class if assoc is of direct flavour.
 void replaceAttrAssocs(ObjectInfo objInfo, Association assoc, Attribute attr, Object context)
           
 
Methods inherited from class com.ca.jcs.jdbc.JDBCAttributeStyleOpProcessor
deleteAssocs, doAddCompound, doDeleteAssocs, doLookUp, doLookupAssocs, doLookupExpensiveStub, doSearch, doSearchAssocs, getAccountCount, getMetaData, getPropertySqlType, getTransactionTimeout, incAccountCount, initObjectCount, isAccountQueryStreaming, setMetaData, setTransactionTimeout
 
Methods inherited from class com.ca.jcs.assoc.DefaultAssocDirectAttributeOpProcessor
doAssocSearchForReferencesTo, doAssocUpdateReferencesTo, expandTemplateValues, getAssocClassMap, getAssocConnAttrId, getAssocConnAttrIds, getAssocConnectorAttrIds, getAssocDataModelProp, getAssocLdapAttr, getAssocObjectClass, getAttrProc, getMetaConnector, updateAttrAssocs
 
Methods inherited from class com.ca.jcs.processor.AbstractAttributeStyleOpProcessorAssocDirect
convertConnectorDNToKey, convertConnectorDNToKeys, convertKeyToConnectorDN
 
Methods inherited from class com.ca.jcs.processor.AbstractBaseProcessor
getBaseConnector, makeNamingException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ORAAttributeStyleOpProcessor

public ORAAttributeStyleOpProcessor(BaseConnector connector)
Method Detail

activate

public void activate()
              throws NamingException
Description copied from class: AbstractAttributeStyleOpProcessor
Sets proxiedSelf to OpBindings-aware proxy if any OpBindings are configured, otherwise left assigned to "this".

Specified by:
activate in interface Activatable
Specified by:
activate in interface AttributeStyleOpProcessor
Overrides:
activate in class JDBCAttributeStyleOpProcessor
Throws:
NamingException

deactivate

public void deactivate()
Description copied from class: AbstractAttributeStyleOpProcessor
We also define this for symmetry as activate() is defined.

Specified by:
deactivate in interface Activatable
Specified by:
deactivate in interface AttributeStyleOpProcessor
Overrides:
deactivate in class JDBCAttributeStyleOpProcessor

doDelete

public void doDelete(ObjectInfo objInfo)
              throws NamingException
Description copied from interface: OpProcessor
Delete the object referenced by objInfo from a managed system. Called by Partition.delete(org.apache.directory.shared.ldap.name.LdapDN) after mapping/validation/type conversion has been performed.

Specified by:
doDelete in interface OpProcessor
Overrides:
doDelete in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - References managed object to be deleted.
Throws:
LdapNameNotFoundException - (or NameNotFoundException) when target object doesn't exist.
NamingException - (usually exception should implement LdapException or arrangements to map it into such an exception should be in place). Pay attention to retriable exceptions as documented in RetryOpProcessorProxy.

addAttrAssocs

public void addAttrAssocs(ObjectInfo objInfo,
                          Association assoc,
                          Attribute attr,
                          Object context)
                   throws NamingException
Description copied from class: JDBCAttributeStyleOpProcessor
Note delegates to super class if assoc is of direct flavour.

Specified by:
addAttrAssocs in interface AssocAttributeOpProcessor
Overrides:
addAttrAssocs in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - Object referenced.
assoc - Association through which object is referenced.
attr - Attribute containing new references to object which are to be stored.
context - Context if relevant to connector implementation (eg transaction, if supported).
Throws:
NamingException

replaceAttrAssocs

public void replaceAttrAssocs(ObjectInfo objInfo,
                              Association assoc,
                              Attribute attr,
                              Object context)
                       throws NamingException
Throws:
NamingException

removeAttrAssocs

public void removeAttrAssocs(ObjectInfo objInfo,
                             Association assoc,
                             Attribute attr,
                             Object context)
                      throws NamingException
Description copied from class: JDBCAttributeStyleOpProcessor
Note delegates to super class if assoc is of direct flavour.

Specified by:
removeAttrAssocs in interface AssocAttributeOpProcessor
Overrides:
removeAttrAssocs in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - Object referenced.
assoc - Association through which object is referenced.
attr - Attribute containing references to object, if null means "remove all references" (only supported by internal agreement within connector implementation, eg JDBC which uses indirect associations can remove all references without wasting time determining all currently existing links).
context - Context if relevant to connector implementation (eg transaction, if supported).
Throws:
NamingException

doAdd

public void doAdd(ObjectInfo objInfo,
                  Attributes attrs)
           throws NamingException
Description copied from class: JDBCAttributeStyleOpProcessor
Handle adding new objects, both normal and compound. When adding compound values caller is responsible for having placed parent object's key in attrs before calling.

Specified by:
doAdd in interface OpProcessor
Overrides:
doAdd in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - Contains information for the managed object which is to be created, where its connector-speak distinguished Name (DN) is dictated by objInfo.getConnectorDn() and its objectClass= is dictated by objInfo.getobjectClassMapping().
attrs - Attributes to be stored on the managed object.
Throws:
LdapNameAlreadyBoundException - Should be thrown if an object with the specified name already exists, other NamingExceptions (preferably implementing LdapException) may also be thrown. Pay attention to retriable exceptions as documented in RetryOpProcessorProxy.
NamingException - (usually exception should implement LdapException or arrangements to map it into such an exception should be in place). Pay attention to retriable exceptions as documented in RetryOpProcessorProxy.

doModifyAssocs

public void doModifyAssocs(ObjectInfo objInfo,
                           AssocModificationItem[] items,
                           Object context)
                    throws NamingException
Process a single 1:1 or 1:N associative relationship (each requires one or more separate SQL operations).

Specified by:
doModifyAssocs in interface AssocAttributeOpProcessor
Overrides:
doModifyAssocs in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - Information about target object whose associations are to be updated.
items - Modifications to associative relationships, which can be additions, deletions or replacements.
context - Optional field which can be provided additional context for the requested updates, eg transactional connectors may want the updates of the associative relationships to occur within a larger transaction.
Throws:
NamingException

doModify

public void doModify(ObjectInfo objInfo,
                     ModificationItem[] modItems)
              throws NamingException
Process the provided modifications, where attributes involved in 1:1 and 1:N associative relationships are split out for separate individual processing.

Specified by:
doModify in interface OpProcessor
Overrides:
doModify in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - Details of object instance being modified.
modItems -
Throws:
LdapNameNotFoundException - (or NameNotFoundException) when target object doesn't exist.
NamingException - (usually exception should implement LdapException or arrangements to map it into such an exception should be in place). Pay attention to retriable exceptions as documented in RetryOpProcessorProxy.

doModifyRn

public void doModifyRn(ObjectInfo objInfo,
                       Rdn newRdn)
                throws NamingException
Oracle doesn't support rename operations for it's users roles etc.

Specified by:
doModifyRn in interface OpProcessor
Overrides:
doModifyRn in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - References managed object.
newRdn - New terminal name (having form "attr=val") for managed object.
Throws:
LdapNameNotFoundException - (or NameNotFoundException) when target object doesn't exist.
NamingException - (usually exception should implement LdapException or arrangements to map it into such an exception should be in place). Pay attention to retriable exceptions as documented in RetryOpProcessorProxy.

doModifyRnAssocs

public void doModifyRnAssocs(ObjectInfo objInfo,
                             Rdn newRnValue,
                             Object context)
                      throws NamingException
Description copied from class: DefaultAssocDirectAttributeOpProcessor
Update association attributes after the target object denoted by objInfo (which still refers to the old name) is renamed.

Specified by:
doModifyRnAssocs in interface AssocAttributeOpProcessor
Overrides:
doModifyRnAssocs in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - Object to be modified, contains "old" name.
newRnValue - New relative name (RN) for object, eg "namingAttr=newName".
context - Optional field which can be provided additional context for the requested updates, eg transactional connectors
Throws:
NamingException

doMoveAssocs

public void doMoveAssocs(ObjectInfo objInfo,
                         Name newName,
                         Object context)
                  throws NamingException
Description copied from class: DefaultAssocDirectAttributeOpProcessor
Update association attributes after the target object denoted by objInfo (which still refers to the old name) is moved.

Specified by:
doMoveAssocs in interface AssocAttributeOpProcessor
Overrides:
doMoveAssocs in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - Object to be modified, contains "old" name.
newName - New DN (distinguished name) for object, where parent folder and RN may have changed.
context - Optional field which can be provided additional context for the requested updates, eg transactional connectors may want the updates of the associative relationships to occur within a larger transaction.
Throws:
NamingException

doMove

public void doMove(ObjectInfo objInfo,
                   Name newParentName,
                   Rdn newRn)
            throws NamingException
Description copied from interface: OpProcessor
Move the managed object referenced by objInfo to a new parent whilst also changing its RDN (of form "attr=value"). Called by Partition.move(org.apache.directory.shared.ldap.name.LdapDN, org.apache.directory.shared.ldap.name.LdapDN, String, boolean) after mapping has been performed.

Specified by:
doMove in interface OpProcessor
Overrides:
doMove in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - References managed object to be moved.
newParentName - New parent for managed object.
newRn - New relative distinguished name (RDN) for managed object, will be different from the object's current RDN or OpProcessor.doMove(com.ca.jcs.ObjectInfo, javax.naming.Name) will
Throws:
LdapNameNotFoundException - (or NameNotFoundException) when target object doesn't exist.
NamingException - (usually exception should implement LdapException or arrangements to map it into such an exception should be in place). Pay attention to retriable exceptions as documented in RetryOpProcessorProxy.

doMove

public void doMove(ObjectInfo objInfo,
                   Name newParentName)
            throws NamingException
Description copied from interface: OpProcessor
Move managed object to a new parent. Called by Partition.move(org.apache.directory.shared.ldap.name.LdapDN, org.apache.directory.shared.ldap.name.LdapDN) after mapping has been performed.

Specified by:
doMove in interface OpProcessor
Overrides:
doMove in class JDBCAttributeStyleOpProcessor
Parameters:
objInfo - References managed object to be moved.
newParentName - New parent for managed object.
Throws:
LdapNameNotFoundException - (or NameNotFoundException) when target object doesn't exist.
NamingException - (usually exception should implement LdapException or arrangements to map it into such an exception should be in place). Pay attention to retriable exceptions as documented in RetryOpProcessorProxy.


Created 2009-10-09 16:43 EST