Class XWikiHibernateStore
- java.lang.Object
-
- com.xpn.xwiki.internal.store.AbstractXWikiStore
-
- com.xpn.xwiki.store.XWikiHibernateBaseStore
-
- com.xpn.xwiki.store.XWikiHibernateStore
-
- All Implemented Interfaces:
XWikiStoreInterface,org.xwiki.component.phase.Initializable
@Component @Named("hibernate") @Singleton public class XWikiHibernateStore extends XWikiHibernateBaseStore implements XWikiStoreInterface, org.xwiki.component.phase.InitializableThe XWiki Hibernate database driver.- Version:
- $Id: a1a9500f1728bca99058cb50696ac7568bbe57ff $
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.xpn.xwiki.store.XWikiHibernateBaseStore
XWikiHibernateBaseStore.HibernateCallback<T>
-
-
Field Summary
-
Fields inherited from class com.xpn.xwiki.store.XWikiHibernateBaseStore
hibernateConfiguration, HINT, loggerManager, store
-
-
Constructor Summary
Constructors Constructor Description XWikiHibernateStore()Empty constructor needed for component manager.XWikiHibernateStore(XWikiContext context)Deprecated.1.6M1.XWikiHibernateStore(XWiki xwiki, XWikiContext context)Deprecated.1.6M1.XWikiHibernateStore(String hibpath)Deprecated.1.6M1.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intcountDocuments(String wheresql, XWikiContext context)API allowing to count the total number of documents that would be returned by a query.intcountDocuments(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context)API allowing to count the total number of documents that would be returned by a parameterized query.protected StringcreateSQLQuery(String queryPrefix, String whereSQL)voidcreateWiki(String wikiName, XWikiContext inputxcontext)Allows to create a new wiki database and initialize the default tables.voiddeleteLinks(long docId, XWikiContext inputxcontext, boolean bTransaction)Deprecated.voiddeleteLock(XWikiLock lock, XWikiContext inputxcontext, boolean bTransaction)voiddeleteWiki(String wikiName, XWikiContext inputxcontext)Delete a wiki database.voiddeleteXWikiCollection(BaseCollection object, XWikiContext inputxcontext, boolean bTransaction, boolean evict)Deprecated.This is internal to XWikiHibernateStore and may be removed in the future.voiddeleteXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext)protected voidexecuteDeleteWikiStatement(Statement statement, DatabaseProduct databaseProduct, String escapedSchemaName)Execute the SQL statement on the database to remove a wiki.booleanexists(XWikiDocument doc, XWikiContext inputxcontext)Verifies if a wiki document existsList<String>getClassList(XWikiContext inputxcontext)protected StringgetColumnsForSelectStatement(String whereSQL)voidgetContent(XWikiDocument doc, StringBuffer buf)List<String>getCustomMappingPropertyList(BaseClass bclass)intgetLimitSize(XWikiContext context, Class<?> entityType, String propertyName)Get the limit size of a property.QueryManagergetQueryManager()List<String>getTranslationList(XWikiDocument doc, XWikiContext context)voidinitialize()booleaninjectCustomMapping(BaseClass doc1class)booleaninjectCustomMapping(BaseClass doc1class, XWikiContext inputxcontext)booleaninjectCustomMapping(String className, String customMapping, XWikiContext inputxcontext)booleaninjectCustomMappings(XWikiDocument doc, XWikiContext inputxcontext)voidinjectCustomMappings(XWikiContext context)org.hibernate.SessionFactoryinjectCustomMappingsInSessionFactory(BaseClass bclass, XWikiContext context)org.hibernate.SessionFactoryinjectCustomMappingsInSessionFactory(XWikiContext inputxcontext)voidinjectUpdatedCustomMappings(XWikiContext context)booleanisCustomMappingValid(BaseClass bclass, String custommapping1)booleanisCustomMappingValid(BaseClass bclass, String custommapping1, XWikiContext context)Deprecated.booleanisWikiNameAvailable(String wikiName, XWikiContext inputxcontext)Indicate if the provided wiki name could be used to create a new wiki.List<String>loadBacklinks(String fullName, XWikiContext inputxcontext, boolean bTransaction)Deprecated.since 2.2M2 useloadBacklinks(DocumentReference, boolean, XWikiContext)List<DocumentReference>loadBacklinks(AttachmentReference attachmentReference, boolean bTransaction, XWikiContext inputxcontext)Deprecated.List<DocumentReference>loadBacklinks(DocumentReference documentReference, boolean bTransaction, XWikiContext inputxcontext)Deprecated.List<XWikiLink>loadLinks(long docId, XWikiContext inputxcontext, boolean bTransaction)Deprecated.XWikiLockloadLock(long docId, XWikiContext inputxcontext, boolean bTransaction)voidloadXWikiCollection(BaseCollection object, XWikiContext context, boolean bTransaction)Deprecated.This is internal to XWikiHibernateStore and may be removed in the future.XWikiDocumentloadXWikiDoc(XWikiDocument defaultDocument, XWikiContext inputxcontext)voidrenameXWikiDoc(XWikiDocument doc, DocumentReference newReference, XWikiContext inputxcontext)Atomic operation for renaming a document.voidsaveLinks(XWikiDocument doc, XWikiContext inputxcontext, boolean bTransaction)Deprecated.voidsaveLock(XWikiLock lock, XWikiContext inputxcontext, boolean bTransaction)voidsaveXWikiCollection(BaseCollection object, XWikiContext inputxcontext, boolean bTransaction)Deprecated.This is internal to XWikiHibernateStore and may be removed in the future.voidsaveXWikiDoc(XWikiDocument doc, XWikiContext context)voidsaveXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext, boolean bTransaction)<T> List<T>search(String sql, int nb, int start, XWikiContext context)Execute a reading request and return result.<T> List<T>search(String sql, int nb, int start, Object[][] whereParams, XWikiContext context)Execute a reading request and return result.<T> List<T>search(String sql, int nb, int start, Object[][] whereParams, List<?> parameterValues, XWikiContext inputxcontext)Execute a reading request with parameters and return result.<T> List<T>search(String sql, int nb, int start, List<?> parameterValues, XWikiContext context)Execute a reading request with parameters and return result.Listsearch(org.hibernate.query.Query query, int nb, int start, XWikiContext inputxcontext)List<DocumentReference>searchDocumentReferences(String wheresql, int nb, int start, XWikiContext context)List<DocumentReference>searchDocumentReferences(String wheresql, int nb, int start, String selectColumns, XWikiContext context)List<DocumentReference>searchDocumentReferences(String parametrizedSqlClause, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents by passing HQL where clause values as parameters.List<DocumentReference>searchDocumentReferences(String wheresql, XWikiContext context)List<DocumentReference>searchDocumentReferences(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context)Same asXWikiStoreInterface.searchDocumentReferences(String, int, int, List, XWikiContext)but returns all rows.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, boolean checkRight, int nb, int start, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, boolean checkRight, int nb, int start, List<?> parameterValues, XWikiContext inputxcontext)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, int nb, int start, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, int nb, int start, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, boolean distinctbylanguage, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, int nb, int start, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, int nb, int start, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, XWikiContext context)Search documents in the storing system.List<XWikiDocument>searchDocuments(String wheresql, List<?> parameterValues, XWikiContext context)Search documents in the storing system.List<String>searchDocumentsNames(String wheresql, int nb, int start, XWikiContext context)List<String>searchDocumentsNames(String wheresql, int nb, int start, String selectColumns, XWikiContext context)List<String>searchDocumentsNames(String parametrizedSqlClause, int nb, int start, List<?> parameterValues, XWikiContext context)List<String>searchDocumentsNames(String wheresql, XWikiContext context)List<String>searchDocumentsNames(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context)-
Methods inherited from class com.xpn.xwiki.store.XWikiHibernateBaseStore
beginTransaction, beginTransaction, beginTransaction, beginTransaction, checkHibernate, cleanUp, createHibernateSequenceIfRequired, dynamicMappingTableName, endTransaction, endTransaction, escapeSchema, execute, execute, executeRead, executeRead, executeWrite, executeWrite, failSafeExecute, failSafeExecuteRead, failSafeExecuteWrite, getConfiguration, getConnections, getDatabaseMetaData, getDatabaseProductName, getDatabaseProductName, getDialect, getExecution, getHint, getMapping, getMetadata, getNbConnections, getPath, getSchemaFromWikiName, getSchemaFromWikiName, getSchemaFromWikiName, getSchemaUpdateScript, getSession, getSessionFactory, getTransaction, isInSchemaMode, isVirtual, makeMapping, setDatabase, setNbConnections, setPath, setSession, setSessionFactory, setTransaction, shutdownHibernate, updateSchema, updateSchema, updateSchema, updateSchema
-
Methods inherited from class com.xpn.xwiki.internal.store.AbstractXWikiStore
getExecutionXContext, restoreExecutionXContext
-
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
-
-
-
-
Constructor Detail
-
XWikiHibernateStore
@Deprecated public XWikiHibernateStore(XWiki xwiki, XWikiContext context)
Deprecated.1.6M1. Use ComponentManager.lookup(XWikiStoreInterface.class) instead.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
@Deprecated public XWikiHibernateStore(String hibpath)
Deprecated.1.6M1. Use ComponentManager.lookup(XWikiStoreInterface.class) instead.Initialize the storage engine with a specific path. This is used for tests.- Parameters:
hibpath-
-
XWikiHibernateStore
@Deprecated public XWikiHibernateStore(XWikiContext context)
Deprecated.1.6M1. Use ComponentManager.lookup(XWikiStoreInterface.class) instead.- See Also:
XWikiHibernateStore(XWiki, XWikiContext)
-
XWikiHibernateStore
public XWikiHibernateStore()
Empty constructor needed for component manager.
-
-
Method Detail
-
initialize
public void initialize() throws org.xwiki.component.phase.InitializationException- Specified by:
initializein interfaceorg.xwiki.component.phase.Initializable- Throws:
org.xwiki.component.phase.InitializationException
-
isWikiNameAvailable
public boolean isWikiNameAvailable(String wikiName, XWikiContext inputxcontext) throws XWikiException
Description copied from interface:XWikiStoreInterfaceIndicate if the provided wiki name could be used to create a new wiki.- Specified by:
isWikiNameAvailablein interfaceXWikiStoreInterface- Parameters:
wikiName- the name of the wiki.inputxcontext- the XWiki context.- Returns:
- true if the name is already used, false otherwise.
- Throws:
XWikiException- error when looking if wiki name already used.
-
createWiki
public void createWiki(String wikiName, XWikiContext inputxcontext) throws XWikiException
Description copied from interface:XWikiStoreInterfaceAllows to create a new wiki database and initialize the default tables.- Specified by:
createWikiin interfaceXWikiStoreInterface- Parameters:
wikiName- the name of the new wiki.inputxcontext- the XWiki context.- Throws:
XWikiException- error when creating new wiki.
-
deleteWiki
public void deleteWiki(String wikiName, XWikiContext inputxcontext) throws XWikiException
Description copied from interface:XWikiStoreInterfaceDelete a wiki database.- Specified by:
deleteWikiin interfaceXWikiStoreInterface- Parameters:
wikiName- the name of the wiki.inputxcontext- the XWiki context.- Throws:
XWikiException- error when deleting wiki database.
-
executeDeleteWikiStatement
protected void executeDeleteWikiStatement(Statement statement, DatabaseProduct databaseProduct, String escapedSchemaName) throws SQLException
Execute the SQL statement on the database to remove a wiki.- Parameters:
statement- the statement object on which to execute the wiki deletiondatabaseProduct- the database typeescapedSchemaName- the subwiki schema name being deleted- Throws:
SQLException- in case of an error while deleting the sub wiki
-
exists
public boolean exists(XWikiDocument doc, XWikiContext inputxcontext) throws XWikiException
Verifies if a wiki document exists- Specified by:
existsin interfaceXWikiStoreInterface- Throws:
XWikiException
-
saveXWikiDoc
public void saveXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
- Specified by:
saveXWikiDocin interfaceXWikiStoreInterface- Throws:
XWikiException
-
saveXWikiDoc
public void saveXWikiDoc(XWikiDocument doc, XWikiContext context) throws XWikiException
- Specified by:
saveXWikiDocin interfaceXWikiStoreInterface- Throws:
XWikiException
-
renameXWikiDoc
public void renameXWikiDoc(XWikiDocument doc, DocumentReference newReference, XWikiContext inputxcontext) throws XWikiException
Atomic operation for renaming a document. This operation will rename the document in DB by performing updates in all tables the document name is used. This implementation of rename relies onsaveXWikiDoc(XWikiDocument, XWikiContext, boolean)anddeleteXWikiDoc(XWikiDocument, XWikiContext, boolean). The idea here is that the document reference has many impacts everywhere and it's actually safer to keep relying on existing save method. Now all the benefit of this rename, is to call those methods in the same transaction when both old and new reference belong to the same wiki (same database). If the references belong to different databases we are force to use two transactions.- Specified by:
renameXWikiDocin interfaceXWikiStoreInterface- Parameters:
doc- the actual document instance to rename.newReference- the new reference to use for renaming.inputxcontext- the current context.- Throws:
XWikiException- in case of problem during the rename.
-
loadXWikiDoc
public XWikiDocument loadXWikiDoc(XWikiDocument defaultDocument, XWikiContext inputxcontext) throws XWikiException
- Specified by:
loadXWikiDocin interfaceXWikiStoreInterface- Throws:
XWikiException
-
deleteXWikiDoc
public void deleteXWikiDoc(XWikiDocument doc, XWikiContext inputxcontext) throws XWikiException
- Specified by:
deleteXWikiDocin interfaceXWikiStoreInterface- Throws:
XWikiException
-
saveXWikiCollection
@Deprecated public void saveXWikiCollection(BaseCollection object, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
Deprecated.This is internal to XWikiHibernateStore and may be removed in the future.- Throws:
XWikiException
-
loadXWikiCollection
@Deprecated public void loadXWikiCollection(BaseCollection object, XWikiContext context, boolean bTransaction) throws XWikiException
Deprecated.This is internal to XWikiHibernateStore and may be removed in the future.- Throws:
XWikiException
-
deleteXWikiCollection
@Deprecated public void deleteXWikiCollection(BaseCollection object, XWikiContext inputxcontext, boolean bTransaction, boolean evict) throws XWikiException
Deprecated.This is internal to XWikiHibernateStore and may be removed in the future.- Throws:
XWikiException
-
loadLock
public XWikiLock loadLock(long docId, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
- Specified by:
loadLockin interfaceXWikiStoreInterface- Throws:
XWikiException
-
saveLock
public void saveLock(XWikiLock lock, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
- Specified by:
saveLockin interfaceXWikiStoreInterface- Throws:
XWikiException
-
deleteLock
public void deleteLock(XWikiLock lock, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
- Specified by:
deleteLockin interfaceXWikiStoreInterface- Throws:
XWikiException
-
loadLinks
@Deprecated(since="14.8RC1") public List<XWikiLink> loadLinks(long docId, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
Deprecated.- Specified by:
loadLinksin interfaceXWikiStoreInterface- Throws:
XWikiException
-
loadBacklinks
@Deprecated(since="14.8RC1") public List<DocumentReference> loadBacklinks(DocumentReference documentReference, boolean bTransaction, XWikiContext inputxcontext) throws XWikiException
Deprecated.Description copied from interface:XWikiStoreInterfaceReturns the backlinks for the given document reference.- Specified by:
loadBacklinksin interfaceXWikiStoreInterface- Parameters:
documentReference- the document reference to search backlinks forbTransaction-trueif a transaction must be createinputxcontext- the current context- Throws:
XWikiException
-
loadBacklinks
@Deprecated(since="14.8RC1") public List<DocumentReference> loadBacklinks(AttachmentReference attachmentReference, boolean bTransaction, XWikiContext inputxcontext) throws XWikiException
Deprecated.Description copied from interface:XWikiStoreInterfaceReturns the backlinks for the given attachment reference.- Specified by:
loadBacklinksin interfaceXWikiStoreInterface- Parameters:
attachmentReference- the attachment reference to search backlinks forbTransaction-trueif a transaction must be createinputxcontext- the current context- Throws:
XWikiException
-
loadBacklinks
@Deprecated public List<String> loadBacklinks(String fullName, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
Deprecated.since 2.2M2 useloadBacklinks(DocumentReference, boolean, XWikiContext)- Specified by:
loadBacklinksin interfaceXWikiStoreInterface- Throws:
XWikiException
-
saveLinks
@Deprecated(since="14.8RC1") public void saveLinks(XWikiDocument doc, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
Deprecated.- Specified by:
saveLinksin interfaceXWikiStoreInterface- Throws:
XWikiException
-
deleteLinks
@Deprecated(since="14.8RC1") public void deleteLinks(long docId, XWikiContext inputxcontext, boolean bTransaction) throws XWikiException
Deprecated.- Specified by:
deleteLinksin interfaceXWikiStoreInterface- Throws:
XWikiException
-
getContent
public void getContent(XWikiDocument doc, StringBuffer buf)
-
getClassList
public List<String> getClassList(XWikiContext inputxcontext) throws XWikiException
- Specified by:
getClassListin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSame asXWikiStoreInterface.searchDocumentReferences(String, int, int, List, XWikiContext)but returns all rows.- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Throws:
XWikiException- See Also:
XWikiStoreInterface.searchDocumentReferences(String, int, int, java.util.List, com.xpn.xwiki.XWikiContext)
-
searchDocumentsNames
public List<String> searchDocumentsNames(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String parametrizedSqlClause, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escaping yourself before calling them.Example:
#set($orphans = $xwiki.searchDocuments(" where doc.fullName <> ?1 and (doc.parent = ?2 or " + "(doc.parent = ?3 and doc.space = ?4))", ["${doc.fullName}as", ${doc.fullName}, ${doc.name}, ${doc.space}]))- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Parameters:
parametrizedSqlClause- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))nb- the number of rows to return. If 0 then all rows are returnedstart- the number of rows to skip. If 0 don't skip any rowparameterValues- the where clause values that replace the question marks (?)context- the XWiki context required for getting information about the execution context- Returns:
- a list of document references
- Throws:
XWikiException- in case of error while performing the query
-
searchDocumentsNames
public List<String> searchDocumentsNames(String parametrizedSqlClause, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String wheresql, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentsNames
public List<String> searchDocumentsNames(String wheresql, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String wheresql, int nb, int start, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentsNames
public List<String> searchDocumentsNames(String wheresql, int nb, int start, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentReferences
public List<DocumentReference> searchDocumentReferences(String wheresql, int nb, int start, String selectColumns, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentReferencesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
searchDocumentsNames
public List<String> searchDocumentsNames(String wheresql, int nb, int start, String selectColumns, XWikiContext context) throws XWikiException
- Specified by:
searchDocumentsNamesin interfaceXWikiStoreInterface- Throws:
XWikiException
-
search
public <T> List<T> search(String sql, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceExecute a reading request and return result.- Specified by:
searchin interfaceXWikiStoreInterface- Parameters:
sql- the HQL request clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
search
public <T> List<T> search(String sql, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceExecute a reading request with parameters and return result.Execute query by passing HQL request values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escaping yourself before calling them.
- Specified by:
searchin interfaceXWikiStoreInterface- Parameters:
sql- the HQL request.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
search
public <T> List<T> search(String sql, int nb, int start, Object[][] whereParams, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceExecute a reading request and return result.- Specified by:
searchin interfaceXWikiStoreInterface- Parameters:
sql- the HQL request.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.whereParams- if not null add tosqla where clause based on a table of table containing field name, field value and compared symbol (=,>, etc.).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
search
public <T> List<T> search(String sql, int nb, int start, Object[][] whereParams, List<?> parameterValues, XWikiContext inputxcontext) throws XWikiException
Description copied from interface:XWikiStoreInterfaceExecute a reading request with parameters and return result.Execute query by passing HQL request values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escaping yourself before calling them.
- Specified by:
searchin interfaceXWikiStoreInterface- Parameters:
sql- the HQL request.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.whereParams- if not null add tosqla where clause based on a table of table containing field name, field value and compared symbol (=,>, etc.).parameterValues- the where clause values that replace the question marks (?).inputxcontext- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
search
public List search(org.hibernate.query.Query query, int nb, int start, XWikiContext inputxcontext) throws XWikiException
- Throws:
XWikiException
-
countDocuments
public int countDocuments(String wheresql, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceAPI allowing to count the total number of documents that would be returned by a query.- Specified by:
countDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- Query to use, similar to the ones accepted byXWikiStoreInterface.searchDocuments(String, XWikiContext). It should not containorder byorgroupclauses, since this kind of queries are not portable.context- The current request context.- Returns:
- The number of documents that matched the query.
- Throws:
XWikiException- if there was a problem executing the query.
-
countDocuments
public int countDocuments(String parametrizedSqlClause, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceAPI allowing to count the total number of documents that would be returned by a parameterized query.- Specified by:
countDocumentsin interfaceXWikiStoreInterface- Parameters:
parametrizedSqlClause- Parameterized query to use, similar to the ones accepted byXWikiStoreInterface.searchDocuments(String, List, XWikiContext). It should not containorder byorgroupclauses, since this kind of queries are not portable.parameterValues- The parameter values that replace the question marks.context- The current request context.- Returns:
- The number of documents that matched the query.
- Throws:
XWikiException- if there was a problem executing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, boolean checkRight, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.checkRight- if true check for each found document if context's user has "view" rights for it.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, boolean checkRight, int nb, int start, List<?> parameterValues, XWikiContext inputxcontext) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.Search documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escpaing yourself before calling them.
- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.checkRight- if true check for each found document if context's user has "view" rights for it.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).inputxcontext- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
createSQLQuery
protected String createSQLQuery(String queryPrefix, String whereSQL)
- Parameters:
queryPrefix- the start of the SQL query (for example "select distinct doc.space, doc.name")whereSQL- the where clause to append- Returns:
- the full formed SQL query, to which the order by columns have been added as returned columns (this is required for example for HSQLDB).
-
getColumnsForSelectStatement
protected String getColumnsForSelectStatement(String whereSQL)
- Parameters:
whereSQL- the SQL where clause- Returns:
- the list of columns to return in the select clause as a string starting with ", " if there are columns or an empty string otherwise. The returned columns are extracted from the where clause. One reason for doing so is because HSQLDB only support SELECT DISTINCT SQL statements where the columns operated on are returned from the query.
-
isCustomMappingValid
@Deprecated public boolean isCustomMappingValid(BaseClass bclass, String custommapping1, XWikiContext context)
Deprecated.- Specified by:
isCustomMappingValidin interfaceXWikiStoreInterface
-
isCustomMappingValid
public boolean isCustomMappingValid(BaseClass bclass, String custommapping1)
- Specified by:
isCustomMappingValidin interfaceXWikiStoreInterface
-
injectCustomMappings
public void injectCustomMappings(XWikiContext context) throws XWikiException
- Specified by:
injectCustomMappingsin interfaceXWikiStoreInterface- Throws:
XWikiException
-
injectUpdatedCustomMappings
public void injectUpdatedCustomMappings(XWikiContext context) throws XWikiException
- Specified by:
injectUpdatedCustomMappingsin interfaceXWikiStoreInterface- Throws:
XWikiException
-
injectCustomMappingsInSessionFactory
public org.hibernate.SessionFactory injectCustomMappingsInSessionFactory(BaseClass bclass, XWikiContext context) throws XWikiException
- Throws:
XWikiException
-
injectCustomMappingsInSessionFactory
public org.hibernate.SessionFactory injectCustomMappingsInSessionFactory(XWikiContext inputxcontext) throws XWikiException
- Throws:
XWikiException
-
injectCustomMappings
public boolean injectCustomMappings(XWikiDocument doc, XWikiContext inputxcontext) throws XWikiException
- Specified by:
injectCustomMappingsin interfaceXWikiStoreInterface- Throws:
XWikiException
-
injectCustomMapping
public boolean injectCustomMapping(String className, String customMapping, XWikiContext inputxcontext) throws XWikiException
- Parameters:
className- the name of the class to mapcustomMapping- the custom mapping to inject for this classinputxcontext- the current XWikiContext- Returns:
- a boolean indicating if the mapping has been added to the current hibernate configuration, and a reload of the factory is required.
- Throws:
XWikiException- if an error occurs- Since:
- 4.0M1
-
injectCustomMapping
public boolean injectCustomMapping(BaseClass doc1class, XWikiContext inputxcontext) throws XWikiException
- Specified by:
injectCustomMappingin interfaceXWikiStoreInterface- Throws:
XWikiException
-
injectCustomMapping
public boolean injectCustomMapping(BaseClass doc1class) throws XWikiException
- Specified by:
injectCustomMappingin interfaceXWikiStoreInterface- Throws:
XWikiException
-
getCustomMappingPropertyList
public List<String> getCustomMappingPropertyList(BaseClass bclass)
- Specified by:
getCustomMappingPropertyListin interfaceXWikiStoreInterface
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.Search documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escpaing yourself before calling them.
- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.Search documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escpaing yourself before calling them.
- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, int nb, int start, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
searchDocuments
public List<XWikiDocument> searchDocuments(String wheresql, boolean distinctbylanguage, boolean customMapping, int nb, int start, List<?> parameterValues, XWikiContext context) throws XWikiException
Description copied from interface:XWikiStoreInterfaceSearch documents in the storing system.Search documents by passing HQL where clause values as parameters. This allows generating a Named HQL query which will automatically encode the passed values (like escaping single quotes). This API is recommended to be used over the other similar methods where the values are passed inside the where clause and for which you'll need to do the encoding/escpaing yourself before calling them.
- Specified by:
searchDocumentsin interfaceXWikiStoreInterface- Parameters:
wheresql- the HQL where clause. For example:where doc.fullName <> ?1 and (doc.parent = ?2 or (doc.parent = ?3 and doc.space = ?4))distinctbylanguage- when a document has multiple version for each language it is returned as one document a language.customMapping- inject custom mapping in session.nb- the number of rows to return. If 0 then all rows are returned.start- the number of rows to skip. If 0 don't skip any row.parameterValues- the where clause values that replace the question marks (?).context- the XWiki context required for getting information about the execution context.- Returns:
- a list of XWikiDocument.
- Throws:
XWikiException- in case of error while performing the query.
-
getTranslationList
public List<String> getTranslationList(XWikiDocument doc, XWikiContext context) throws XWikiException
- Specified by:
getTranslationListin interfaceXWikiStoreInterface- Throws:
XWikiException
-
getQueryManager
public QueryManager getQueryManager()
- Specified by:
getQueryManagerin interfaceXWikiStoreInterface- Returns:
- QueryManager used for creating queries to store. Use QueryManager instead of #search* methods because it is more abstract from store implementation and support multiple query languages.
-
getLimitSize
public int getLimitSize(XWikiContext context, Class<?> entityType, String propertyName)
Description copied from interface:XWikiStoreInterfaceGet the limit size of a property.- Specified by:
getLimitSizein interfaceXWikiStoreInterface- Parameters:
context- the context of the wiki to retrieve the propertyentityType- the entityType where the property is located.propertyName- the property on which we want the limit size.- Returns:
- an integer representing the limit size.
-
-