org.opencms.db.oracle
Class CmsVfsDriver

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

public class CmsVfsDriver
extends CmsVfsDriver

Oracle implementation of the VFS driver methods.

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

Field Summary
 
Fields inherited from class org.opencms.db.generic.CmsVfsDriver
m_driverManager, m_resOp, m_sqlManager
 
Fields inherited from interface org.opencms.db.I_CmsDriver
AND_CONDITION, BEGIN_CONDITION, BEGIN_EXCLUDE_CONDITION, BEGIN_INCLUDE_CONDITION, END_CONDITION, OR_CONDITION
 
Fields inherited from interface org.opencms.db.I_CmsVfsDriver
DRIVER_TYPE_ID, REQ_ATTR_CHECK_PERMISSIONS, REQ_ATTR_RESOURCE_OUS, todo
 
Constructor Summary
CmsVfsDriver()
           
 
Method Summary
 void createContent(CmsDbContext dbc, CmsUUID projectId, CmsUUID resourceId, byte[] content)
          Creates a content entry for the resource identified by the specified resource id.
 void createOnlineContent(CmsDbContext dbc, CmsUUID resourceId, byte[] contents, int publishTag, boolean keepOnline, boolean needToUpdateContent)
          Creates a new content in the offline project.
 CmsSqlManager initSqlManager(java.lang.String classname)
          Initializes the SQL manager for this driver.
protected  void internalWriteContent(CmsDbContext dbc, CmsUUID projectId, CmsUUID resourceId, byte[] contents, int publishTag)
          Writes the resource content with the specified resource id.
 void writeContent(CmsDbContext dbc, CmsUUID resourceId, byte[] content)
          Writes the resource content with the specified resource id.
 
Methods inherited from class org.opencms.db.generic.CmsVfsDriver
checkWritePermissionsInFolder, countSiblings, createFile, createFile, createFolder, createPropertyDefinition, createRelation, createResource, createResource, createSibling, deletePropertyDefinition, deletePropertyObjects, deleteRelations, destroy, escapeDbWildcard, getResourceOus, getSqlManager, init, internalCountProperties, internalReadParentId, internalReadRelation, internalReadResourceState, internalReadStructureState, internalRemoveFolder, internalUpdateVersions, internalValidateResourceLength, moveRelations, moveResource, prepareExpiredTimeRangeCondition, preparePathCondition, prepareProjectCondition, prepareRelationConditions, prepareReleasedTimeRangeCondition, prepareResourceCondition, prepareStateCondition, prepareTimeRangeCondition, prepareTypeCondition, publishResource, publishVersions, readChildResources, readContent, readFolder, readFolder, readParentFolder, readPropertyDefinition, readPropertyDefinitions, readPropertyObject, readPropertyObjects, readRelations, readResource, readResource, readResources, readResourcesForPrincipalACE, readResourcesForPrincipalAttr, readResourcesWithProperty, readResourceTree, readSiblings, readVersions, removeFile, removeFolder, repairBrokenRelations, replaceResource, setDriverManager, setSqlManager, transferResource, updateBrokenRelations, updateRelations, validateResourceIdExists, validateStructureIdExists, writeLastModifiedProjectId, writePropertyObject, writePropertyObjects, writeResource, writeResourceState
 
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

CmsVfsDriver

public CmsVfsDriver()
Method Detail

createContent

public void createContent(CmsDbContext dbc,
                          CmsUUID projectId,
                          CmsUUID resourceId,
                          byte[] content)
                   throws CmsDataAccessException
Description copied from interface: I_CmsVfsDriver
Creates a content entry for the resource identified by the specified resource id.

Specified by:
createContent in interface I_CmsVfsDriver
Overrides:
createContent in class CmsVfsDriver
Parameters:
dbc - the current database context
projectId - the id of the current project
resourceId - the resource id of the resource to create the content for
content - the content to write
Throws:
CmsDataAccessException - if something goes wrong
See Also:
I_CmsVfsDriver.createContent(CmsDbContext, CmsUUID, CmsUUID, byte[])

createOnlineContent

public void createOnlineContent(CmsDbContext dbc,
                                CmsUUID resourceId,
                                byte[] contents,
                                int publishTag,
                                boolean keepOnline,
                                boolean needToUpdateContent)
                         throws CmsDataAccessException
Description copied from interface: I_CmsVfsDriver
Creates a new content in the offline project.

Specified by:
createOnlineContent in interface I_CmsVfsDriver
Overrides:
createOnlineContent in class CmsVfsDriver
Parameters:
dbc - the current database context
resourceId - the resource id of the content to write
contents - the content to publish
publishTag - the publish tag
keepOnline - if the content is online or has to be put in the history
needToUpdateContent - if the content blob has to be updated
Throws:
CmsDataAccessException - if something goes wrong
See Also:
CmsVfsDriver.createOnlineContent(CmsDbContext, CmsUUID, byte[], int, boolean, boolean)

initSqlManager

public CmsSqlManager initSqlManager(java.lang.String classname)
Description copied from interface: I_CmsVfsDriver
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_CmsVfsDriver
Overrides:
initSqlManager in class CmsVfsDriver
Parameters:
classname - the class name of the SQL manager
Returns:
the SQL manager for this driver
See Also:
I_CmsVfsDriver.initSqlManager(String)

writeContent

public void writeContent(CmsDbContext dbc,
                         CmsUUID resourceId,
                         byte[] content)
                  throws CmsDataAccessException
Description copied from interface: I_CmsVfsDriver
Writes the resource content with the specified resource id.

Specified by:
writeContent in interface I_CmsVfsDriver
Overrides:
writeContent in class CmsVfsDriver
Parameters:
dbc - the current database context
resourceId - the id of the resource used to identify the content to update
content - the new content of the file
Throws:
CmsDataAccessException - if something goes wrong
See Also:
I_CmsVfsDriver.writeContent(CmsDbContext, CmsUUID, byte[])

internalWriteContent

protected void internalWriteContent(CmsDbContext dbc,
                                    CmsUUID projectId,
                                    CmsUUID resourceId,
                                    byte[] contents,
                                    int publishTag)
                             throws CmsDataAccessException
Writes the resource content with the specified resource id.

Parameters:
dbc - the current database context
projectId - the id of the current project
resourceId - the id of the resource used to identify the content to update
contents - the new content of the file
publishTag - the publish tag if to be written to the online content
Throws:
CmsDataAccessException - if something goes wrong