站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBOSS Portal 2.6 API 英文版文档

HibernateStore - JBOSS Portal 2.6 API 英文版文档


org.jboss.portal.cms.hibernate
Class HibernateStore

java.lang.Object
  extended byorg.jboss.portal.cms.hibernate.HibernateStore

public class HibernateStore
extends java.lang.Object

This is a FileSystem store using Hibernate, built on the DBFilesystem class packaged with Apache Jackrabbit that persists file system entries in a database table.

The required schema is created by hibernate using the portal datasource.

Configuration of this store should look like this:

 <FileSystem class="org.jboss.portal.cms.hibernate.HibernateStore">
 <param name="datasource" value="java:/PortalDS"/>
 <param name="isolation" value="2"/>
 <param name="batch_size" value="0"/>
 <param name="auto" value="update"/>
 <param name="provider_class" value="org.hibernate.cache.HashtableCacheProvider"/>
 <param name="schemaObjectPrefix" value="VersionEntry|CMSEntry|RepositoryEntry"/>
 </FileSystem>
 

Author:
Roy Russo, Thomas Heute

Nested Class Summary
static class HibernateStore.BlobInputStream
           
 
Field Summary
protected  java.lang.String deleteFileStmt
           
protected  java.lang.String deleteFolderStmt
           
private  org.hibernate.SessionFactory hibernateSessionFactory
           
protected static int INITIAL_BUFFER_SIZE
           
protected  boolean initialized
           
protected  java.lang.String insertFileStmt
           
private  java.lang.String jndiName
           
private static org.apache.log4j.Logger log
           
protected  java.lang.String schemaObjectPrefix
           
protected  java.lang.String selectChildCountStmt
           
protected  java.lang.String selectDataStmt
           
protected  java.lang.String selectExistStmt
           
protected  java.lang.String selectFileExistStmt
           
protected  java.lang.String selectFolderExistStmt
           
protected  java.lang.String selectLastModifiedStmt
           
protected  java.lang.String selectLengthStmt
           
 
Constructor Summary
HibernateStore()
          Default constructor
 
Method Summary
protected  void checkSchema()
          Checks if the required schema objects exist and creates them if they don't exist yet.
 void close()
           
private  void closeSession(org.hibernate.Session session)
           
 void copy(java.lang.String srcPath, java.lang.String destPath)
           
protected  void copyDeepFolder(java.lang.String srcPath, java.lang.String destPath)
          Recursively copies the given folder to the given destination.
protected  void copyFile(java.lang.String srcPath, java.lang.String destPath)
          Copies the given file entry to the given destination path.
private  java.sql.Blob createBlob(java.io.InputStream in)
           
protected  void createDeepFolder(java.lang.String folderPath)
          Creates the specified files system folder entry, recursively creating any non-existing intermediate folder entries.
 void createFolder(java.lang.String folderPath)
          Creates a folder and recursively all sub-folders in between
 void deleteFile(java.lang.String filePath)
           
 void deleteFolder(java.lang.String folderPath)
           
 boolean exists(java.lang.String path)
           
 java.io.InputStream getInputStream(java.lang.String filePath)
           
 java.lang.String getJNDIName()
           
 java.io.OutputStream getOutputStream(java.lang.String filePath)
           
 RandomAccessOutputStream getRandomAccessOutputStream(java.lang.String filePath)
           
 java.lang.String getSchemaObjectPrefix()
           
 boolean hasChildren(java.lang.String path)
           
 void init()
           
 boolean isFile(java.lang.String path)
           
 boolean isFolder(java.lang.String path)
           
 long lastModified(java.lang.String path)
           
 long length(java.lang.String filePath)
           
 java.lang.String[] list(java.lang.String folderPath)
           
 java.lang.String[] listFiles(java.lang.String folderPath)
           
 java.lang.String[] listFolders(java.lang.String folderPath)
           
 void move(java.lang.String srcPath, java.lang.String destPath)
           
 void setJNDIName(java.lang.String JNDIName)
           
 void setSchemaObjectPrefix(java.lang.String schemaObjectPrefix)
           
 void touch(java.lang.String filePath)
           
protected  void verifyRootExists()
          Verifies that the root file system entry exists.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.log4j.Logger log

hibernateSessionFactory

private org.hibernate.SessionFactory hibernateSessionFactory

jndiName

private java.lang.String jndiName

initialized

protected boolean initialized

schemaObjectPrefix

protected java.lang.String schemaObjectPrefix

INITIAL_BUFFER_SIZE

protected static final int INITIAL_BUFFER_SIZE
See Also:
Constant Field Values

selectExistStmt

protected java.lang.String selectExistStmt

selectFolderExistStmt

protected java.lang.String selectFolderExistStmt

selectFileExistStmt

protected java.lang.String selectFileExistStmt

selectChildCountStmt

protected java.lang.String selectChildCountStmt

selectDataStmt

protected java.lang.String selectDataStmt

selectLastModifiedStmt

protected java.lang.String selectLastModifiedStmt

selectLengthStmt

protected java.lang.String selectLengthStmt

deleteFileStmt

protected java.lang.String deleteFileStmt

deleteFolderStmt

protected java.lang.String deleteFolderStmt

insertFileStmt

protected java.lang.String insertFileStmt
Constructor Detail

HibernateStore

public HibernateStore()
Default constructor

Method Detail

getSchemaObjectPrefix

public java.lang.String getSchemaObjectPrefix()

setSchemaObjectPrefix

public void setSchemaObjectPrefix(java.lang.String schemaObjectPrefix)

getJNDIName

public java.lang.String getJNDIName()

setJNDIName

public void setJNDIName(java.lang.String JNDIName)

init

public void init()
          throws FileSystemException
Throws:
FileSystemException

close

public void close()
           throws FileSystemException
Throws:
FileSystemException

createFolder

public void createFolder(java.lang.String folderPath)
                  throws FileSystemException
Creates a folder and recursively all sub-folders in between

Parameters:
folderPath - the path of the folder to create
Throws:
FileSystemException - if the folder cannot be created or if the folder already exists

deleteFile

public void deleteFile(java.lang.String filePath)
                throws FileSystemException
Throws:
FileSystemException

closeSession

private void closeSession(org.hibernate.Session session)

deleteFolder

public void deleteFolder(java.lang.String folderPath)
                  throws FileSystemException
Throws:
FileSystemException

exists

public boolean exists(java.lang.String path)
               throws FileSystemException
Throws:
FileSystemException

isFile

public boolean isFile(java.lang.String path)
               throws FileSystemException
Throws:
FileSystemException

isFolder

public boolean isFolder(java.lang.String path)
                 throws FileSystemException
Throws:
FileSystemException

lastModified

public long lastModified(java.lang.String path)
                  throws FileSystemException
Throws:
FileSystemException

length

public long length(java.lang.String filePath)
            throws FileSystemException
Throws:
FileSystemException

hasChildren

public boolean hasChildren(java.lang.String path)
                    throws FileSystemException
Throws:
FileSystemException

list

public java.lang.String[] list(java.lang.String folderPath)
                        throws FileSystemException
Throws:
FileSystemException

listFiles

public java.lang.String[] listFiles(java.lang.String folderPath)
                             throws FileSystemException
Throws:
FileSystemException

listFolders

public java.lang.String[] listFolders(java.lang.String folderPath)
                               throws FileSystemException
Throws:
FileSystemException

touch

public void touch(java.lang.String filePath)
           throws FileSystemException
Throws:
FileSystemException

getInputStream

public java.io.InputStream getInputStream(java.lang.String filePath)
                                   throws FileSystemException
Throws:
FileSystemException

getOutputStream

public java.io.OutputStream getOutputStream(java.lang.String filePath)
                                     throws FileSystemException
Throws:
FileSystemException

createBlob

private java.sql.Blob createBlob(java.io.InputStream in)
                          throws java.io.IOException
Throws:
java.io.IOException

getRandomAccessOutputStream

public RandomAccessOutputStream getRandomAccessOutputStream(java.lang.String filePath)
                                                     throws FileSystemException,
                                                            java.lang.UnsupportedOperationException
Throws:
FileSystemException
java.lang.UnsupportedOperationException

copy

public void copy(java.lang.String srcPath,
                 java.lang.String destPath)
          throws FileSystemException
Throws:
FileSystemException

move

public void move(java.lang.String srcPath,
                 java.lang.String destPath)
          throws FileSystemException
Throws:
FileSystemException

checkSchema

protected void checkSchema()
                    throws java.lang.Exception
Checks if the required schema objects exist and creates them if they don't exist yet.

Throws:
java.lang.Exception - if an error occurs

verifyRootExists

protected void verifyRootExists()
                         throws java.lang.Exception
Verifies that the root file system entry exists. If it doesn't exist yet it will be automatically created.

Throws:
java.lang.Exception - if an error occurs

createDeepFolder

protected void createDeepFolder(java.lang.String folderPath)
                         throws FileSystemException
Creates the specified files system folder entry, recursively creating any non-existing intermediate folder entries.

Parameters:
folderPath - folder entry to create
Throws:
FileSystemException - if an error occurs

copyDeepFolder

protected void copyDeepFolder(java.lang.String srcPath,
                              java.lang.String destPath)
                       throws FileSystemException
Recursively copies the given folder to the given destination.

Parameters:
srcPath - folder to be copied
destPath - destination path to which the folder is to be copied
Throws:
FileSystemException - if an error occurs

copyFile

protected void copyFile(java.lang.String srcPath,
                        java.lang.String destPath)
                 throws FileSystemException
Copies the given file entry to the given destination path. The parent folder of the destination path will be created if it doesn't exist already. If the destination path refers to an existing file, the file will be overwritten.

Parameters:
srcPath - file to be copied
destPath - destination path to which the file is to be copied
Throws:
FileSystemException - if an error occurs