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:
driver: the FQN name of the JDBC driver class
 (default: "oracle.jdbc.OracleDriver")schema: type of schema to be used
 (default: "oracle")url: the database url (e.g.
 "jdbc:oracle:thin:@[host]:[port]:[sid]")user: the database userpassword: the user's passwordschemaObjectPrefix: prefix to be prepended to schema objectstablespace: the tablespace to use for tables (also used for indexes if indexTablespace is omitted)indexTablespace: the tablespace to use for indexesDbFileSystem.
 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="user"/>
       <param name="indexTablespace" value="user"/>
  </FileSystem>
 | Modifier and Type | Field and Description | 
|---|---|
| protected static String | DEFAULT_TABLESPACE_CLAUSEThe default tablespace clause used when  tablespaceorindexTablespaceare not specified. | 
| protected static String | INDEX_TABLESPACE_VARIABLEName of the replacement variable in the DDL for  indexTablespace. | 
| protected String | indexTablespaceThe Oracle tablespace to use for indexes | 
| protected String | tablespaceThe Oracle tablespace to use for tables | 
| protected static String | TABLESPACE_VARIABLEName of the replacement variable in the DDL for  tablespace. | 
dataSourceName, driver, password, url, userconHelper, copyFileSQL, copyFilesSQL, deleteFileSQL, deleteFolderSQL, INITIAL_BUFFER_SIZE, initialized, insertFileSQL, insertFolderSQL, schema, schemaObjectPrefix, selectChildCountSQL, selectDataSQL, selectExistSQL, selectFileAndFolderNamesSQL, selectFileExistSQL, selectFileNamesSQL, selectFolderExistSQL, selectFolderNamesSQL, selectLastModifiedSQL, selectLengthSQL, updateDataSQL, updateLastModifiedSQLSEPARATOR, SEPARATOR_CHAR| Constructor and Description | 
|---|
| OracleFileSystem()Creates a new  OracleFileSysteminstance. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | buildSQLStatements()Builds the SQL statements | 
| protected CheckSchemaOperation | createCheckSchemaOperation()This method is called from  DatabaseFileSystem.init()after theDatabaseFileSystem.createConnectionHelper(DataSource)method, and returns a defaultCheckSchemaOperation. | 
| protected ConnectionHelper | createConnectionHelper(DataSource dataSrc)This method is called from the  DatabaseFileSystem.init()method of this class and returns aConnectionHelperinstance which is assigned to theconHelperfield. | 
| String | getIndexTablespace()Returns the configured Oracle tablespace for indexes. | 
| String | getTablespace()Returns the configured Oracle tablespace for tables. | 
| void | setIndexTablespace(String tablespaceName)Sets the Oracle tablespace for indexes. | 
| void | setTablespace(String tablespaceName)Sets the Oracle tablespace for tables. | 
equals, getDataSource, getDataSourceName, getDriver, getPassword, getUrl, getUser, hashCode, setConnectionFactory, setDataSourceName, setDriver, setPassword, setUrl, setUserclose, createDeepFolder, createFolder, deleteFile, deleteFolder, exists, getInputStream, getOutputStream, getSchema, getSchemaObjectPrefix, hasChildren, init, isFile, isFolder, isSchemaCheckEnabled, lastModified, length, list, listFiles, listFolders, setSchema, setSchemaCheckEnabled, setSchemaObjectPrefix, verifyRootExistsprotected static final String DEFAULT_TABLESPACE_CLAUSE
tablespace or indexTablespace
 are not specified.protected static final String TABLESPACE_VARIABLE
tablespace.protected static final String INDEX_TABLESPACE_VARIABLE
indexTablespace.protected String tablespace
protected String indexTablespace
public OracleFileSystem()
OracleFileSystem instance.public String getTablespace()
public void setTablespace(String tablespaceName)
tablespaceName - the Oracle tablespace for tables.public String getIndexTablespace()
public void setIndexTablespace(String tablespaceName)
tablespaceName - the Oracle tablespace for indexes.protected ConnectionHelper createConnectionHelper(DataSource dataSrc) throws Exception
DatabaseFileSystem.init() 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.createConnectionHelper in class DatabaseFileSystemdataSrc - the DataSource of this persistence managerConnectionHelperException - on errorprotected CheckSchemaOperation createCheckSchemaOperation()
DatabaseFileSystem.init() after the
 DatabaseFileSystem.createConnectionHelper(DataSource) method, and returns a default CheckSchemaOperation.
 Subclasses can overrride this implementation to get a customized implementation.createCheckSchemaOperation in class DatabaseFileSystemCheckSchemaOperation instanceprotected void buildSQLStatements()
Since Oracle treats emtpy strings and BLOBs as null values the SQL statements had to be adapated accordingly. The following changes were necessary:
buildSQLStatements in class DatabaseFileSystemCopyright © 2004–2021 The Apache Software Foundation. All rights reserved.