com.xpn.xwiki.store
Class XWikiHibernateStore

java.lang.Object
  extended by com.xpn.xwiki.store.XWikiHibernateBaseStore
      extended by com.xpn.xwiki.store.XWikiHibernateStore
All Implemented Interfaces:
XWikiStoreInterface

public class XWikiHibernateStore
extends XWikiHibernateBaseStore
implements XWikiStoreInterface


Nested Class Summary
 
Nested classes/interfaces inherited from class com.xpn.xwiki.store.XWikiHibernateBaseStore
XWikiHibernateBaseStore.ConnectionMonitor
 
Field Summary
private static org.apache.commons.logging.Log log
           
private  java.util.Map validTypesMap
           
 
Constructor Summary
XWikiHibernateStore(java.lang.String hibpath)
          Initialize the storage engine with a specific path This is used for tests.
XWikiHibernateStore(XWiki xwiki, XWikiContext context)
          THis allows to initialize our storage engine.
 
Method Summary
 void createWiki(java.lang.String wikiName, XWikiContext context)
          Allows to create a new wiki database and initialize the default tables
 void deleteLinks(long docId, XWikiContext context, boolean bTransaction)
           
 void deleteLock(XWikiLock lock, XWikiContext context, boolean bTransaction)
           
 void deleteXWikiClass(BaseClass baseClass, XWikiContext context, boolean b)
           
 void deleteXWikiCollection(BaseCollection object, XWikiContext context, boolean bTransaction)
           
 void deleteXWikiCollection(BaseCollection object, XWikiContext context, boolean bTransaction, boolean evict)
           
 void deleteXWikiDoc(XWikiDocument doc, XWikiContext context)
           
 void deleteXWikiObject(BaseObject baseObject, XWikiContext context, boolean b)
           
 void deleteXWikiObject(BaseObject baseObject, XWikiContext context, boolean bTransaction, boolean bEvict)
           
 boolean exists(XWikiDocument doc, XWikiContext context)
          Verifies if a wiki document exists
private  java.lang.String generateWhereStatement(java.lang.String sql, java.lang.Object[][] whereParams)
           
 XWikiBatcherStats getBatcherStats()
           
 java.util.List getClassList(XWikiContext context)
           
 void getContent(XWikiDocument doc, java.lang.StringBuffer buf)
           
 java.util.List getCustomMappingPropertyList(BaseClass bclass)
           
private  MonitorPlugin getMonitorPlugin(XWikiContext context)
           
 org.apache.commons.jrcs.rcs.Version[] getXWikiDocVersions(XWikiDocument doc)
           
 org.apache.commons.jrcs.rcs.Version[] getXWikiDocVersions(XWikiDocument doc, XWikiContext context)
           
private  void initValidColumTypes()
          This initializes the valid custom types Used for Custom Mapping
 boolean injectCustomMapping(BaseClass doc1class, XWikiContext context)
           
 void injectCustomMappings(XWikiContext context)
           
 boolean injectCustomMappings(XWikiDocument doc, XWikiContext context)
           
 org.hibernate.SessionFactory injectCustomMappingsInSessionFactory(BaseClass bclass, XWikiContext context)
           
 org.hibernate.SessionFactory injectCustomMappingsInSessionFactory(XWikiContext context)
           
 org.hibernate.SessionFactory injectCustomMappingsInSessionFactory(XWikiDocument doc, XWikiContext context)
           
 org.hibernate.SessionFactory injectInSessionFactory(org.hibernate.cfg.Configuration config)
           
 void injectUpdatedCustomMappings(XWikiContext context)
           
 boolean isCustomMappingValid(BaseClass bclass, java.lang.String custommapping1, XWikiContext context)
           
private  boolean isValidColumnType(java.lang.String name, java.lang.String className)
           
private  boolean isValidCustomMapping(java.lang.String className, org.hibernate.cfg.Configuration hibconfig, BaseClass bclass)
           
 void loadAttachmentList(XWikiDocument doc, XWikiContext context, boolean bTransaction)
           
 java.util.List loadBacklinks(java.lang.String fullName, XWikiContext context, boolean bTransaction)
           
 java.util.List loadLinks(long docId, XWikiContext context, boolean bTransaction)
           
 XWikiLock loadLock(long docId, XWikiContext context, boolean bTransaction)
           
 BaseClass loadXWikiClass(BaseClass bclass, XWikiContext context)
           
 BaseClass loadXWikiClass(BaseClass bclass, XWikiContext context, boolean bTransaction)
           
 void loadXWikiCollection(BaseCollection object, XWikiContext context, boolean bTransaction)
           
 void loadXWikiCollection(BaseCollection object, XWikiContext context, boolean bTransaction, boolean alreadyLoaded)
           
 void loadXWikiCollection(BaseCollection object1, XWikiDocument doc, XWikiContext context, boolean bTransaction, boolean alreadyLoaded)
           
 XWikiDocument loadXWikiDoc(XWikiDocument basedoc, java.lang.String version, XWikiContext context)
           
 XWikiDocument loadXWikiDoc(XWikiDocument doc, XWikiContext context)
           
 void loadXWikiObject(BaseObject object, XWikiContext context, boolean bTransaction)
           
 void loadXWikiProperty(PropertyInterface property, XWikiContext context, boolean bTransaction)
           
 void resetBatcherStats()
           
 void saveAttachment(XWikiAttachment attachment, boolean parentUpdate, XWikiContext context, boolean bTransaction)
           
 void saveAttachment(XWikiAttachment attachment, XWikiContext context, boolean bTransaction)
           
 void saveAttachmentList(XWikiDocument doc, XWikiContext context, boolean bTransaction)
           
 void saveLinks(XWikiDocument doc, XWikiContext context, boolean bTransaction)
           
 void saveLock(XWikiLock lock, XWikiContext context, boolean bTransaction)
           
 void saveXWikiClass(BaseClass bclass, XWikiContext context, boolean bTransaction)
           
 void saveXWikiClassProperty(PropertyClass property, XWikiContext context, boolean bTransaction)
           
 void saveXWikiCollection(BaseCollection object, XWikiContext context, boolean bTransaction)
           
 void saveXWikiDoc(XWikiDocument doc, XWikiContext context)
           
 void saveXWikiDoc(XWikiDocument doc, XWikiContext context, boolean bTransaction)
           
 void saveXWikiObject(BaseObject object, XWikiContext context, boolean bTransaction)
           
 void saveXWikiProperty(PropertyInterface property, XWikiContext context, boolean bTransaction)
           
 java.util.List search(org.hibernate.Query query, int nb, int start, XWikiContext context)
           
 java.util.List search(java.lang.String sql, int nb, int start, java.lang.Object[][] whereParams, XWikiContext context)
           
 java.util.List search(java.lang.String sql, int nb, int start, XWikiContext context)
           
 java.util.List searchDocuments(java.lang.String wheresql, boolean distinctbyname, boolean customMapping, boolean checkRight, int nb, int start, XWikiContext context)
           
 java.util.List searchDocuments(java.lang.String wheresql, boolean distinctbyname, boolean customMapping, int nb, int start, XWikiContext context)
           
 java.util.List searchDocuments(java.lang.String wheresql, boolean distinctbylanguage, boolean customMapping, XWikiContext context)
           
 java.util.List searchDocuments(java.lang.String wheresql, boolean distinctbyname, int nb, int start, XWikiContext context)
           
 java.util.List searchDocuments(java.lang.String wheresql, boolean distinctbylanguage, XWikiContext context)
           
 java.util.List searchDocuments(java.lang.String wheresql, int nb, int start, XWikiContext context)
           
 java.util.List searchDocuments(java.lang.String wheresql, XWikiContext context)
           
 java.util.List searchDocumentsNames(java.lang.String wheresql, int nb, int start, java.lang.String selectColumns, XWikiContext context)
           
 java.util.List searchDocumentsNames(java.lang.String wheresql, int nb, int start, XWikiContext context)
           
 java.util.List searchDocumentsNames(java.lang.String wheresql, XWikiContext context)
           
private  boolean useClassesTable(boolean write, XWikiContext context)
           
 
Methods inherited from class com.xpn.xwiki.store.XWikiHibernateBaseStore
beginTransaction, beginTransaction, beginTransaction, beginTransaction, checkHibernate, cleanUp, endTransaction, endTransaction, getConfiguration, getConnections, getHibUrl, getNbConnections, getPath, getSchemaUpdateScript, getSession, getSessionFactory, getTransaction, isVirtual, makeMapping, makeMapping, setConfiguration, setDatabase, setHibUrl, setNbConnections, setPath, setSession, setSessionFactory, setTransaction, shutdownHibernate, updateSchema, updateSchema, updateSchema, updateSchema
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.xpn.xwiki.store.XWikiStoreInterface
cleanUp
 

Field Detail

log

private static final org.apache.commons.logging.Log log

validTypesMap

private java.util.Map validTypesMap
Constructor Detail

XWikiHibernateStore

public XWikiHibernateStore(XWiki xwiki,
                           XWikiContext context)
THis allows to initialize our storage engine. The hibernate config file path is taken from xwiki.cfg or directly in the WEB-INF directory.

Parameters:
xwiki -
context -

XWikiHibernateStore

public XWikiHibernateStore(java.lang.String hibpath)
Initialize the storage engine with a specific path This is used for tests.

Parameters:
hibpath -
Method Detail

initValidColumTypes

private void initValidColumTypes()
This initializes the valid custom types Used for Custom Mapping


createWiki

public void createWiki(java.lang.String wikiName,
                       XWikiContext context)
                throws XWikiException
Allows to create a new wiki database and initialize the default tables

Specified by:
createWiki in interface XWikiStoreInterface
Parameters:
wikiName -
context -
Throws:
XWikiException

exists

public boolean exists(XWikiDocument doc,
                      XWikiContext context)
               throws XWikiException
Verifies if a wiki document exists

Specified by:
exists in interface XWikiStoreInterface
Parameters:
doc -
context -
Returns:
Throws:
XWikiException

saveXWikiDoc

public void saveXWikiDoc(XWikiDocument doc,
                         XWikiContext context,
                         boolean bTransaction)
                  throws XWikiException
Specified by:
saveXWikiDoc in interface XWikiStoreInterface
Throws:
XWikiException

saveXWikiDoc

public void saveXWikiDoc(XWikiDocument doc,
                         XWikiContext context)
                  throws XWikiException
Specified by:
saveXWikiDoc in interface XWikiStoreInterface
Throws:
XWikiException

loadXWikiDoc

public XWikiDocument loadXWikiDoc(XWikiDocument doc,
                                  XWikiContext context)
                           throws XWikiException
Specified by:
loadXWikiDoc in interface XWikiStoreInterface
Throws:
XWikiException

getMonitorPlugin

private MonitorPlugin getMonitorPlugin(XWikiContext context)

loadXWikiDoc

public XWikiDocument loadXWikiDoc(XWikiDocument basedoc,
                                  java.lang.String version,
                                  XWikiContext context)
                           throws XWikiException
Specified by:
loadXWikiDoc in interface XWikiStoreInterface
Throws:
XWikiException

deleteXWikiDoc

public void deleteXWikiDoc(XWikiDocument doc,
                           XWikiContext context)
                    throws XWikiException
Specified by:
deleteXWikiDoc in interface XWikiStoreInterface
Throws:
XWikiException

getXWikiDocVersions

public org.apache.commons.jrcs.rcs.Version[] getXWikiDocVersions(XWikiDocument doc)
                                                          throws XWikiException
Throws:
XWikiException

getXWikiDocVersions

public org.apache.commons.jrcs.rcs.Version[] getXWikiDocVersions(XWikiDocument doc,
                                                                 XWikiContext context)
                                                          throws XWikiException
Specified by:
getXWikiDocVersions in interface XWikiStoreInterface
Throws:
XWikiException

saveXWikiObject

public void saveXWikiObject(BaseObject object,
                            XWikiContext context,
                            boolean bTransaction)
                     throws XWikiException
Throws:
XWikiException

saveXWikiCollection

public void saveXWikiCollection(BaseCollection object,
                                XWikiContext context,
                                boolean bTransaction)
                         throws XWikiException
Throws:
XWikiException

loadXWikiObject

public void loadXWikiObject(BaseObject object,
                            XWikiContext context,
                            boolean bTransaction)
                     throws XWikiException
Throws:
XWikiException

loadXWikiCollection

public void loadXWikiCollection(BaseCollection object,
                                XWikiContext context,
                                boolean bTransaction)
                         throws XWikiException
Throws:
XWikiException

loadXWikiCollection

public void loadXWikiCollection(BaseCollection object,
                                XWikiContext context,
                                boolean bTransaction,
                                boolean alreadyLoaded)
                         throws XWikiException
Throws:
XWikiException

loadXWikiCollection

public void loadXWikiCollection(BaseCollection object1,
                                XWikiDocument doc,
                                XWikiContext context,
                                boolean bTransaction,
                                boolean alreadyLoaded)
                         throws XWikiException
Throws:
XWikiException

deleteXWikiCollection

public void deleteXWikiCollection(BaseCollection object,
                                  XWikiContext context,
                                  boolean bTransaction)
                           throws XWikiException
Throws:
XWikiException

deleteXWikiCollection

public void deleteXWikiCollection(BaseCollection object,
                                  XWikiContext context,
                                  boolean bTransaction,
                                  boolean evict)
                           throws XWikiException
Throws:
XWikiException

deleteXWikiObject

public void deleteXWikiObject(BaseObject baseObject,
                              XWikiContext context,
                              boolean bTransaction,
                              boolean bEvict)
                       throws XWikiException
Throws:
XWikiException

deleteXWikiObject

public void deleteXWikiObject(BaseObject baseObject,
                              XWikiContext context,
                              boolean b)
                       throws XWikiException
Throws:
XWikiException

deleteXWikiClass

public void deleteXWikiClass(BaseClass baseClass,
                             XWikiContext context,
                             boolean b)
                      throws XWikiException
Throws:
XWikiException

loadXWikiProperty

public void loadXWikiProperty(PropertyInterface property,
                              XWikiContext context,
                              boolean bTransaction)
                       throws XWikiException
Throws:
XWikiException

saveXWikiProperty

public void saveXWikiProperty(PropertyInterface property,
                              XWikiContext context,
                              boolean bTransaction)
                       throws XWikiException
Throws:
XWikiException

saveXWikiClass

public void saveXWikiClass(BaseClass bclass,
                           XWikiContext context,
                           boolean bTransaction)
                    throws XWikiException
Throws:
XWikiException

loadXWikiClass

public BaseClass loadXWikiClass(BaseClass bclass,
                                XWikiContext context)
                         throws XWikiException
Throws:
XWikiException

loadXWikiClass

public BaseClass loadXWikiClass(BaseClass bclass,
                                XWikiContext context,
                                boolean bTransaction)
                         throws XWikiException
Throws:
XWikiException

saveXWikiClassProperty

public void saveXWikiClassProperty(PropertyClass property,
                                   XWikiContext context,
                                   boolean bTransaction)
                            throws XWikiException
Throws:
XWikiException

loadAttachmentList

public void loadAttachmentList(XWikiDocument doc,
                               XWikiContext context,
                               boolean bTransaction)
                        throws XWikiException
Throws:
XWikiException

saveAttachmentList

public void saveAttachmentList(XWikiDocument doc,
                               XWikiContext context,
                               boolean bTransaction)
                        throws XWikiException
Throws:
XWikiException

saveAttachment

public void saveAttachment(XWikiAttachment attachment,
                           XWikiContext context,
                           boolean bTransaction)
                    throws XWikiException
Throws:
XWikiException

saveAttachment

public void saveAttachment(XWikiAttachment attachment,
                           boolean parentUpdate,
                           XWikiContext context,
                           boolean bTransaction)
                    throws XWikiException
Throws:
XWikiException

loadLock

public XWikiLock loadLock(long docId,
                          XWikiContext context,
                          boolean bTransaction)
                   throws XWikiException
Specified by:
loadLock in interface XWikiStoreInterface
Throws:
XWikiException

saveLock

public void saveLock(XWikiLock lock,
                     XWikiContext context,
                     boolean bTransaction)
              throws XWikiException
Specified by:
saveLock in interface XWikiStoreInterface
Throws:
XWikiException

deleteLock

public void deleteLock(XWikiLock lock,
                       XWikiContext context,
                       boolean bTransaction)
                throws XWikiException
Specified by:
deleteLock in interface XWikiStoreInterface
Throws:
XWikiException

loadLinks

public java.util.List loadLinks(long docId,
                                XWikiContext context,
                                boolean bTransaction)
                         throws XWikiException
Specified by:
loadLinks in interface XWikiStoreInterface
Throws:
XWikiException

loadBacklinks

public java.util.List loadBacklinks(java.lang.String fullName,
                                    XWikiContext context,
                                    boolean bTransaction)
                             throws XWikiException
Specified by:
loadBacklinks in interface XWikiStoreInterface
Throws:
XWikiException

saveLinks

public void saveLinks(XWikiDocument doc,
                      XWikiContext context,
                      boolean bTransaction)
               throws XWikiException
Specified by:
saveLinks in interface XWikiStoreInterface
Throws:
XWikiException

deleteLinks

public void deleteLinks(long docId,
                        XWikiContext context,
                        boolean bTransaction)
                 throws XWikiException
Specified by:
deleteLinks in interface XWikiStoreInterface
Throws:
XWikiException

getContent

public void getContent(XWikiDocument doc,
                       java.lang.StringBuffer buf)

getClassList

public java.util.List getClassList(XWikiContext context)
                            throws XWikiException
Specified by:
getClassList in interface XWikiStoreInterface
Throws:
XWikiException

useClassesTable

private boolean useClassesTable(boolean write,
                                XWikiContext context)

search

public java.util.List search(java.lang.String sql,
                             int nb,
                             int start,
                             java.lang.Object[][] whereParams,
                             XWikiContext context)
                      throws XWikiException
Specified by:
search in interface XWikiStoreInterface
Throws:
XWikiException

generateWhereStatement

private java.lang.String generateWhereStatement(java.lang.String sql,
                                                java.lang.Object[][] whereParams)

search

public java.util.List search(java.lang.String sql,
                             int nb,
                             int start,
                             XWikiContext context)
                      throws XWikiException
Specified by:
search in interface XWikiStoreInterface
Throws:
XWikiException

search

public java.util.List search(org.hibernate.Query query,
                             int nb,
                             int start,
                             XWikiContext context)
                      throws XWikiException
Throws:
XWikiException

searchDocumentsNames

public java.util.List searchDocumentsNames(java.lang.String wheresql,
                                           int nb,
                                           int start,
                                           java.lang.String selectColumns,
                                           XWikiContext context)
                                    throws XWikiException
Specified by:
searchDocumentsNames in interface XWikiStoreInterface
Throws:
XWikiException

searchDocuments

public java.util.List searchDocuments(java.lang.String wheresql,
                                      boolean distinctbyname,
                                      boolean customMapping,
                                      boolean checkRight,
                                      int nb,
                                      int start,
                                      XWikiContext context)
                               throws XWikiException
Specified by:
searchDocuments in interface XWikiStoreInterface
Throws:
XWikiException

isCustomMappingValid

public boolean isCustomMappingValid(BaseClass bclass,
                                    java.lang.String custommapping1,
                                    XWikiContext context)
Specified by:
isCustomMappingValid in interface XWikiStoreInterface

injectCustomMappingsInSessionFactory

public org.hibernate.SessionFactory injectCustomMappingsInSessionFactory(XWikiDocument doc,
                                                                         XWikiContext context)
                                                                  throws XWikiException
Throws:
XWikiException

injectCustomMappings

public void injectCustomMappings(XWikiContext context)
                          throws XWikiException
Specified by:
injectCustomMappings in interface XWikiStoreInterface
Throws:
XWikiException

injectUpdatedCustomMappings

public void injectUpdatedCustomMappings(XWikiContext context)
                                 throws XWikiException
Specified by:
injectUpdatedCustomMappings in interface XWikiStoreInterface
Throws:
XWikiException

injectCustomMappingsInSessionFactory

public org.hibernate.SessionFactory injectCustomMappingsInSessionFactory(BaseClass bclass,
                                                                         XWikiContext context)
                                                                  throws XWikiException
Throws:
XWikiException

injectInSessionFactory

public org.hibernate.SessionFactory injectInSessionFactory(org.hibernate.cfg.Configuration config)
                                                    throws XWikiException
Throws:
XWikiException

injectCustomMappingsInSessionFactory

public org.hibernate.SessionFactory injectCustomMappingsInSessionFactory(XWikiContext context)
                                                                  throws XWikiException
Throws:
XWikiException

injectCustomMappings

public boolean injectCustomMappings(XWikiDocument doc,
                                    XWikiContext context)
                             throws XWikiException
Specified by:
injectCustomMappings in interface XWikiStoreInterface
Throws:
XWikiException

injectCustomMapping

public boolean injectCustomMapping(BaseClass doc1class,
                                   XWikiContext context)
                            throws XWikiException
Specified by:
injectCustomMapping in interface XWikiStoreInterface
Throws:
XWikiException

isValidCustomMapping

private boolean isValidCustomMapping(java.lang.String className,
                                     org.hibernate.cfg.Configuration hibconfig,
                                     BaseClass bclass)

getCustomMappingPropertyList

public java.util.List getCustomMappingPropertyList(BaseClass bclass)
Specified by:
getCustomMappingPropertyList in interface XWikiStoreInterface

isValidColumnType

private boolean isValidColumnType(java.lang.String name,
                                  java.lang.String className)

getBatcherStats

public XWikiBatcherStats getBatcherStats()

resetBatcherStats

public void resetBatcherStats()

searchDocumentsNames

public java.util.List searchDocumentsNames(java.lang.String wheresql,
                                           XWikiContext context)
                                    throws XWikiException
Specified by:
searchDocumentsNames in interface XWikiStoreInterface
Throws:
XWikiException

searchDocumentsNames

public java.util.List searchDocumentsNames(java.lang.String wheresql,
                                           int nb,
                                           int start,
                                           XWikiContext context)
                                    throws XWikiException
Specified by:
searchDocumentsNames in interface XWikiStoreInterface
Throws:
XWikiException

searchDocuments

public java.util.List searchDocuments(java.lang.String wheresql,
                                      XWikiContext context)
                               throws XWikiException
Specified by:
searchDocuments in interface XWikiStoreInterface
Throws:
XWikiException

searchDocuments

public java.util.List searchDocuments(java.lang.String wheresql,
                                      boolean distinctbylanguage,
                                      XWikiContext context)
                               throws XWikiException
Specified by:
searchDocuments in interface XWikiStoreInterface
Throws:
XWikiException

searchDocuments

public java.util.List searchDocuments(java.lang.String wheresql,
                                      boolean distinctbylanguage,
                                      boolean customMapping,
                                      XWikiContext context)
                               throws XWikiException
Specified by:
searchDocuments in interface XWikiStoreInterface
Throws:
XWikiException

searchDocuments

public java.util.List searchDocuments(java.lang.String wheresql,
                                      int nb,
                                      int start,
                                      XWikiContext context)
                               throws XWikiException
Specified by:
searchDocuments in interface XWikiStoreInterface
Throws:
XWikiException

searchDocuments

public java.util.List searchDocuments(java.lang.String wheresql,
                                      boolean distinctbyname,
                                      int nb,
                                      int start,
                                      XWikiContext context)
                               throws XWikiException
Specified by:
searchDocuments in interface XWikiStoreInterface
Throws:
XWikiException

searchDocuments

public java.util.List searchDocuments(java.lang.String wheresql,
                                      boolean distinctbyname,
                                      boolean customMapping,
                                      int nb,
                                      int start,
                                      XWikiContext context)
                               throws XWikiException
Specified by:
searchDocuments in interface XWikiStoreInterface
Throws:
XWikiException


Copyright 2003 Ludovic Dubost