org.apache.jackrabbit.core.fs.db
Class OracleFileSystem

java.lang.Object
  extended by org.apache.jackrabbit.core.fs.db.DatabaseFileSystem
      extended by org.apache.jackrabbit.core.fs.db.DbFileSystem
          extended by org.apache.jackrabbit.core.fs.db.OracleFileSystem
All Implemented Interfaces:
FileSystem, DatabaseAware
Direct Known Subclasses:
Oracle9FileSystem

public class OracleFileSystem
extends DbFileSystem

OracleFileSystem is a JDBC-based FileSystem implementation for Jackrabbit that persists file system entries in an Oracle database.

It is configured through the following properties:

See also DbFileSystem.

The following is a fragment from a sample configuration:

   <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
       <param name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
       <param name="user" value="scott"/>
       <param name="password" value="tiger"/>
       <param name="schemaObjectPrefix" value="rep_"/>
       <param name="tableSpace" value="default"/>
  </FileSystem>
 


Field Summary
protected  String tableSpace
          the Oracle table space to use
 
Fields inherited from class org.apache.jackrabbit.core.fs.db.DbFileSystem
dataSourceName, driver, password, url, user
 
Fields inherited from class org.apache.jackrabbit.core.fs.db.DatabaseFileSystem
conHelper, copyFileSQL, copyFilesSQL, deleteFileSQL, deleteFolderSQL, INITIAL_BUFFER_SIZE, initialized, insertFileSQL, insertFolderSQL, schema, schemaObjectPrefix, selectChildCountSQL, selectDataSQL, selectExistSQL, selectFileAndFolderNamesSQL, selectFileExistSQL, selectFileNamesSQL, selectFolderExistSQL, selectFolderNamesSQL, selectLastModifiedSQL, selectLengthSQL, updateDataSQL, updateLastModifiedSQL
 
Fields inherited from interface org.apache.jackrabbit.core.fs.FileSystem
SEPARATOR, SEPARATOR_CHAR
 
Constructor Summary
OracleFileSystem()
          Creates a new OracleFileSystem instance.
 
Method Summary
protected  void buildSQLStatements()
          Builds the SQL statements

Since Oracle treats emtpy strings and BLOBs as null values the SQL statements had to be adapated accordingly.

protected  CheckSchemaOperation createCheckSchemaOperation()
          This method is called from #init(PMContext) after the DatabaseFileSystem.createConnectionHelper(DataSource) method, and returns a default CheckSchemaOperation.
protected  ConnectionHelper createConnectionHelper(DataSource dataSrc)
          This method is called from the #init(PMContext) method of this class and returns a ConnectionHelper instance which is assigned to the conHelper field.
 String getTableSpace()
          Returns the configured Oracle table space.
 void setTableSpace(String tableSpace)
          Sets the Oracle table space.
 
Methods inherited from class org.apache.jackrabbit.core.fs.db.DbFileSystem
equals, getDataSource, getDataSourceName, getDriver, getPassword, getUrl, getUser, hashCode, setConnectionFactory, setDataSourceName, setDriver, setPassword, setUrl, setUser
 
Methods inherited from class org.apache.jackrabbit.core.fs.db.DatabaseFileSystem
close, createDeepFolder, createFolder, deleteFile, deleteFolder, exists, getInputStream, getOutputStream, getSchema, getSchemaObjectPrefix, hasChildren, init, isFile, isFolder, isSchemaCheckEnabled, lastModified, length, list, listFiles, listFolders, setSchema, setSchemaCheckEnabled, setSchemaObjectPrefix, verifyRootExists
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tableSpace

protected String tableSpace
the Oracle table space to use

Constructor Detail

OracleFileSystem

public OracleFileSystem()
Creates a new OracleFileSystem instance.

Method Detail

getTableSpace

public String getTableSpace()
Returns the configured Oracle table space.

Returns:
the configured Oracle table space.

setTableSpace

public void setTableSpace(String tableSpace)
Sets the Oracle table space.

Parameters:
tableSpace - the Oracle table space.

createConnectionHelper

protected ConnectionHelper createConnectionHelper(DataSource dataSrc)
                                           throws Exception
This method is called from the #init(PMContext) method of this class and returns a ConnectionHelper instance which is assigned to the conHelper field. Subclasses may override it to return a specialized connection helper.

Overrides:
createConnectionHelper in class DatabaseFileSystem
Parameters:
dataSrc - the DataSource of this persistence manager
Returns:
a ConnectionHelper
Throws:
Exception - on error

createCheckSchemaOperation

protected CheckSchemaOperation createCheckSchemaOperation()
This method is called from #init(PMContext) after the DatabaseFileSystem.createConnectionHelper(DataSource) method, and returns a default CheckSchemaOperation. Subclasses can overrride this implementation to get a customized implementation.

Overrides:
createCheckSchemaOperation in class DatabaseFileSystem
Returns:
a new CheckSchemaOperation instance

buildSQLStatements

protected void buildSQLStatements()
Builds the SQL statements

Since Oracle treats emtpy strings and BLOBs as null values the SQL statements had to be adapated accordingly. The following changes were necessary:

Overrides:
buildSQLStatements in class DatabaseFileSystem


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.