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_CLAUSE
The default tablespace clause used when
tablespace or indexTablespace
are not specified. |
protected static String |
INDEX_TABLESPACE_VARIABLE
Name of the replacement variable in the DDL for
indexTablespace . |
protected String |
indexTablespace
The Oracle tablespace to use for indexes
|
protected String |
tablespace
The Oracle tablespace to use for tables
|
protected static String |
TABLESPACE_VARIABLE
Name of the replacement variable in the DDL for
tablespace . |
dataSourceName, driver, password, url, user
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
SEPARATOR, SEPARATOR_CHAR
Constructor and Description |
---|
OracleFileSystem()
Creates a new
OracleFileSystem instance. |
Modifier and Type | Method and Description |
---|---|
protected void |
buildSQLStatements()
Builds the SQL statements
|
protected CheckSchemaOperation |
createCheckSchemaOperation()
This method is called from
DatabaseFileSystem.init() after the
DatabaseFileSystem.createConnectionHelper(DataSource) method, and returns a default CheckSchemaOperation . |
protected ConnectionHelper |
createConnectionHelper(DataSource dataSrc)
This method is called from the
DatabaseFileSystem.init() method of this class and returns a
ConnectionHelper instance which is assigned to the conHelper field. |
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, setUser
close, createDeepFolder, createFolder, deleteFile, deleteFolder, exists, getInputStream, getOutputStream, getSchema, getSchemaObjectPrefix, hasChildren, init, isFile, isFolder, isSchemaCheckEnabled, lastModified, length, list, listFiles, listFolders, setSchema, setSchemaCheckEnabled, setSchemaObjectPrefix, verifyRootExists
protected 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 DatabaseFileSystem
dataSrc
- the DataSource
of this persistence managerConnectionHelper
Exception
- 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 DatabaseFileSystem
CheckSchemaOperation
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 DatabaseFileSystem
Copyright © 2004–2021 The Apache Software Foundation. All rights reserved.