org.opencms.db.oracle
Class CmsUserDriver

java.lang.Object
  extended by org.opencms.db.generic.CmsUserDriver
      extended by org.opencms.db.oracle.CmsUserDriver
All Implemented Interfaces:
I_CmsDriver, I_CmsUserDriver
Direct Known Subclasses:
CmsUserDriver

public class CmsUserDriver
extends CmsUserDriver

Oracle implementation of the user driver methods.

Since:
6.0.0
Version:
$Revision: 1.62 $
Author:
Thomas Weckert, Carsten Weinholz

Field Summary
 
Fields inherited from class org.opencms.db.generic.CmsUserDriver
m_driverManager, m_sqlManager, ORGUNIT_BASE_FOLDER, REQ_ATTR_DONT_DIGEST_PASSWORD
 
Fields inherited from interface org.opencms.db.I_CmsUserDriver
DRIVER_TYPE_ID
 
Fields inherited from interface org.opencms.db.I_CmsDriver
AND_CONDITION, BEGIN_CONDITION, BEGIN_EXCLUDE_CONDITION, BEGIN_INCLUDE_CONDITION, END_CONDITION, OR_CONDITION
 
Constructor Summary
CmsUserDriver()
           
 
Method Summary
static java.io.OutputStream getOutputStreamFromBlob(java.sql.ResultSet res, java.lang.String name)
          Generates an Output stream that writes to a blob, also truncating the existing blob if required.
 CmsSqlManager initSqlManager(java.lang.String classname)
          Initializes the SQL manager for this driver.
protected  void internalUpdateUserInfo(CmsDbContext dbc, CmsUUID userId, java.lang.String key, java.lang.Object value)
          Updates the given user information entry.
 void writeUserInfo(CmsDbContext dbc, CmsUUID userId, java.lang.String key, java.lang.Object value)
          Writes an user additional information entry.
 
Methods inherited from class org.opencms.db.generic.CmsUserDriver
addResourceToOrganizationalUnit, createAccessControlEntry, createGroup, createOrganizationalUnit, createRoleQuery, createRootOrganizationalUnit, createUser, createUserInGroup, deleteAccessControlEntries, deleteGroup, deleteOrganizationalUnit, deleteUser, deleteUserInfos, deleteUserInGroup, destroy, existsGroup, existsUser, fillDefaults, getGroups, getOrganizationalUnits, getResourcesForOrganizationalUnit, getSqlManager, getUsers, init, internalCreateAce, internalCreateAce, internalCreateDefaultGroups, internalCreateGroup, internalCreateOrgUnitFromResource, internalCreateResourceForOrgUnit, internalCreateUser, internalDeleteOrgUnitResource, internalDeleteUserInfo, internalOrgUnitFolder, internalResourcesForOrgUnit, internalUpdateRoleGroup, internalValidateResourceForOrgUnit, internalValidateUserInGroup, internalWriteOrgUnitProperty, internalWriteUserInfo, internalWriteUserInfos, publishAccessControlEntries, readAccessControlEntries, readAccessControlEntry, readChildGroups, readGroup, readGroup, readGroupsOfUser, readOrganizationalUnit, readUser, readUser, readUser, readUserInfos, readUsersOfGroup, removeAccessControlEntries, removeAccessControlEntriesForPrincipal, removeAccessControlEntry, removeResourceFromOrganizationalUnit, setDriverManager, setSqlManager, setUsersOrganizationalUnit, writeAccessControlEntry, writeGroup, writeOrganizationalUnit, writePassword, writeUser
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opencms.db.I_CmsDriver
toString
 

Constructor Detail

CmsUserDriver

public CmsUserDriver()
Method Detail

getOutputStreamFromBlob

public static java.io.OutputStream getOutputStreamFromBlob(java.sql.ResultSet res,
                                                           java.lang.String name)
                                                    throws java.sql.SQLException
Generates an Output stream that writes to a blob, also truncating the existing blob if required.

Apparently Oracle requires some non-standard handling here.

Parameters:
res - the result set where the blob is located in
name - the name of the database column where the blob is located
Returns:
an Output stream from a blob
Throws:
java.sql.SQLException - if something goes wring

initSqlManager

public CmsSqlManager initSqlManager(java.lang.String classname)
Description copied from interface: I_CmsUserDriver
Initializes the SQL manager for this driver.

To obtain JDBC connections from different pools, further {online|offline|history} pool Urls have to be specified.

Specified by:
initSqlManager in interface I_CmsUserDriver
Overrides:
initSqlManager in class CmsUserDriver
Parameters:
classname - the classname of the SQL manager
Returns:
the SQL manager for this driver
See Also:
I_CmsUserDriver.initSqlManager(String)

writeUserInfo

public void writeUserInfo(CmsDbContext dbc,
                          CmsUUID userId,
                          java.lang.String key,
                          java.lang.Object value)
                   throws CmsDataAccessException
Description copied from interface: I_CmsUserDriver
Writes an user additional information entry.

Specified by:
writeUserInfo in interface I_CmsUserDriver
Overrides:
writeUserInfo in class CmsUserDriver
Parameters:
dbc - the current database context
userId - the id of the user to update
key - the key of the info to write
value - the value of the info to write
Throws:
CmsDataAccessException - if something goes wrong
See Also:
I_CmsUserDriver.writeUserInfo(CmsDbContext, CmsUUID, String, Object)

internalUpdateUserInfo

protected void internalUpdateUserInfo(CmsDbContext dbc,
                                      CmsUUID userId,
                                      java.lang.String key,
                                      java.lang.Object value)
                               throws CmsDataAccessException
Updates the given user information entry.

Overrides:
internalUpdateUserInfo in class CmsUserDriver
Parameters:
dbc - the current database context
userId - the id of the user to update
key - the user info entry key
value - the user info entry value
Throws:
CmsDataAccessException - if something goes wrong