Class DBQuery
- java.lang.Object
-
- org.alfresco.repo.search.impl.querymodel.impl.BaseQuery
-
- org.alfresco.repo.search.impl.querymodel.impl.db.DBQuery
-
- All Implemented Interfaces:
DBQueryBuilderComponent,org.alfresco.repo.search.impl.querymodel.Query
public class DBQuery extends org.alfresco.repo.search.impl.querymodel.impl.BaseQuery implements DBQueryBuilderComponent
- Author:
- Andy
-
-
Constructor Summary
Constructors Constructor Description DBQuery(java.util.List<org.alfresco.repo.search.impl.querymodel.Column> columns, org.alfresco.repo.search.impl.querymodel.Source source, org.alfresco.repo.search.impl.querymodel.Constraint constraint, java.util.List<org.alfresco.repo.search.impl.querymodel.Ordering> orderings)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildJoins(java.util.Map<org.alfresco.service.namespace.QName,DBQueryBuilderJoinCommand> singleJoins, java.util.List<DBQueryBuilderJoinCommand> multiJoins)Build the Set of required joins Assign join aliases and link them up to each component where requiredvoidbuildPredicateCommands(java.util.List<DBQueryBuilderPredicatePartCommand> predicatePartCommands)Add to the list of commands used to build the SQL predicatestatic java.lang.StringexpandQName(java.lang.String toStrip, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)static java.util.List<java.lang.Long>findAspectIds(java.lang.String aspect, org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, boolean exact)static java.util.List<java.lang.Long>findTypeIds(java.lang.String type, org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, boolean exact)static org.alfresco.service.cmr.dictionary.DataTypeDefinitiongetDataTypeDefinition(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.namespace.QName propertyQname)static java.lang.LonggetDbid(java.lang.String source, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService)static java.lang.Long[]getDbids(java.lang.String[] stringValues, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService)static java.lang.StringgetFieldName(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.namespace.QName propertyQName, boolean supportBooleanFloatAndDouble)booleangetHasOrderBy()booleangetHasPredicate()booleangetHasPredicatePartsOrder()static DBQueryBuilderJoinCommandTypegetJoinCommandType(org.alfresco.service.namespace.QName propertyQName)java.util.List<DBQueryBuilderJoinCommand>getJoins()java.util.List<DBQueryBuilderPredicatePartCommand>getPredicateParts()java.lang.LonggetSinceTxId()java.lang.LonggetStoreId()java.lang.LonggetSysDeletedType()static java.lang.StringgetUUID(java.lang.String source)static java.lang.String[]getUUIDs(java.lang.String[] source)booleanisSupported()Is this component supported in a DB query?static org.alfresco.service.cmr.dictionary.AspectDefinitionmatchAspectDefinition(java.lang.String string, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)static org.alfresco.service.cmr.dictionary.TypeDefinitionmatchTypeDefinition(java.lang.String string, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)static java.lang.StringmatchURI(java.lang.String prefix, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)voidprepare(org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService, java.util.Set<java.lang.String> selectors, java.util.Map<java.lang.String,org.alfresco.repo.search.impl.querymodel.Argument> functionArgs, org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext functionContext, boolean supportBooleanFloatAndDouble)Use the dictionary to expand any terms, deal with multi-valued properties, etc Use the QNameDAO to look up any idsvoidsetSinceTxId(java.lang.Long sinceTxId)voidsetStoreId(java.lang.Long storeId)voidsetSysDeletedType(java.lang.Long sysDeletedType)static java.lang.String[]toStringValues(java.lang.Object[] objects)static java.lang.String[]toStringValues(java.util.Collection<?> objects)
-
-
-
Constructor Detail
-
DBQuery
public DBQuery(java.util.List<org.alfresco.repo.search.impl.querymodel.Column> columns, org.alfresco.repo.search.impl.querymodel.Source source, org.alfresco.repo.search.impl.querymodel.Constraint constraint, java.util.List<org.alfresco.repo.search.impl.querymodel.Ordering> orderings)- Parameters:
source- Sourceconstraint- Constraint
-
-
Method Detail
-
getStoreId
public java.lang.Long getStoreId()
- Returns:
- the storeId
-
setStoreId
public void setStoreId(java.lang.Long storeId)
- Parameters:
storeId- the storeId to set
-
getSysDeletedType
public java.lang.Long getSysDeletedType()
- Returns:
- the sysDeletedType
-
setSysDeletedType
public void setSysDeletedType(java.lang.Long sysDeletedType)
- Parameters:
sysDeletedType- the sysDeletedType to set
-
getSinceTxId
public java.lang.Long getSinceTxId()
- Returns:
- the sinceTxId
-
setSinceTxId
public void setSinceTxId(java.lang.Long sinceTxId)
- Parameters:
sinceTxId- the sinceTxId to set
-
getJoins
public java.util.List<DBQueryBuilderJoinCommand> getJoins()
-
getHasPredicate
public boolean getHasPredicate()
-
getHasOrderBy
public boolean getHasOrderBy()
-
getPredicateParts
public java.util.List<DBQueryBuilderPredicatePartCommand> getPredicateParts()
-
getHasPredicatePartsOrder
public boolean getHasPredicatePartsOrder()
-
isSupported
public boolean isSupported()
Description copied from interface:DBQueryBuilderComponentIs this component supported in a DB query?- Specified by:
isSupportedin interfaceDBQueryBuilderComponent- Returns:
- boolean
-
prepare
public void prepare(org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService, java.util.Set<java.lang.String> selectors, java.util.Map<java.lang.String,org.alfresco.repo.search.impl.querymodel.Argument> functionArgs, org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext functionContext, boolean supportBooleanFloatAndDouble)Description copied from interface:DBQueryBuilderComponentUse the dictionary to expand any terms, deal with multi-valued properties, etc Use the QNameDAO to look up any ids- Specified by:
preparein interfaceDBQueryBuilderComponent- Parameters:
namespaceService- NamespaceServicedictionaryService- DictionaryServiceqnameDAO- QNameDAOnodeDAO- NodeDAOtenantService- TenantServicefunctionContext- FunctionEvaluationContext
-
buildJoins
public void buildJoins(java.util.Map<org.alfresco.service.namespace.QName,DBQueryBuilderJoinCommand> singleJoins, java.util.List<DBQueryBuilderJoinCommand> multiJoins)
Description copied from interface:DBQueryBuilderComponentBuild the Set of required joins Assign join aliases and link them up to each component where required- Specified by:
buildJoinsin interfaceDBQueryBuilderComponent
-
buildPredicateCommands
public void buildPredicateCommands(java.util.List<DBQueryBuilderPredicatePartCommand> predicatePartCommands)
Description copied from interface:DBQueryBuilderComponentAdd to the list of commands used to build the SQL predicate- Specified by:
buildPredicateCommandsin interfaceDBQueryBuilderComponent
-
getUUIDs
public static java.lang.String[] getUUIDs(java.lang.String[] source)
-
getUUID
public static java.lang.String getUUID(java.lang.String source)
-
getDbid
public static java.lang.Long getDbid(java.lang.String source, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService)
-
findTypeIds
public static java.util.List<java.lang.Long> findTypeIds(java.lang.String type, org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, boolean exact)
-
findAspectIds
public static java.util.List<java.lang.Long> findAspectIds(java.lang.String aspect, org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, boolean exact)
-
toStringValues
public static java.lang.String[] toStringValues(java.util.Collection<?> objects)
-
toStringValues
public static java.lang.String[] toStringValues(java.lang.Object[] objects)
-
expandQName
public static java.lang.String expandQName(java.lang.String toStrip, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
-
matchURI
public static java.lang.String matchURI(java.lang.String prefix, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
-
matchTypeDefinition
public static org.alfresco.service.cmr.dictionary.TypeDefinition matchTypeDefinition(java.lang.String string, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
-
matchAspectDefinition
public static org.alfresco.service.cmr.dictionary.AspectDefinition matchAspectDefinition(java.lang.String string, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
-
getJoinCommandType
public static DBQueryBuilderJoinCommandType getJoinCommandType(org.alfresco.service.namespace.QName propertyQName)
- Parameters:
propertyQName- QName- Returns:
- DBQueryBuilderJoinCommandType
-
getFieldName
public static java.lang.String getFieldName(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.namespace.QName propertyQName, boolean supportBooleanFloatAndDouble)- Parameters:
dictionaryService- DictionaryServicepropertyQName- QName- Returns:
- String
-
getDataTypeDefinition
public static org.alfresco.service.cmr.dictionary.DataTypeDefinition getDataTypeDefinition(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.namespace.QName propertyQname)
-
getDbids
public static java.lang.Long[] getDbids(java.lang.String[] stringValues, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService)- Parameters:
stringValues- String[]nodeDAO- NodeDAOtenantService- TenantService- Returns:
- Long[]
-
-