@Component(value="alfrescoSQLUtil")
public class AlfrescoSQLUtil
extends java.lang.Object
Constructor and Description |
---|
AlfrescoSQLUtil() |
Modifier and Type | Method and Description |
---|---|
static void |
addStoreToMap(org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.cmr.repository.StoreRef> storeRefPair)
Add a store to our store map
|
static java.lang.String |
convertAlfrescoDate(java.lang.String millisecondsStr)
Helper function to convert a date (in milliseconds since epoch) to a valid Alfresco date string
|
static void |
ensureSize(java.util.ArrayList<java.lang.Object> list,
int size)
Helper function to ensure a list is a certain size
|
static java.lang.String |
getDBColumnName(org.alfresco.service.namespace.QName propertyQName,
org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
Gets the database column name for a property
|
static java.lang.String |
getEncodingByID(java.lang.Long encodingID)
Get an Encoding given the Encoding ID
|
static org.alfresco.repo.domain.encoding.EncodingDAO |
getEncodingDAO() |
static java.lang.Long |
getIDbyEncoding(java.lang.String encoding)
Get a Encoding ID given the Encoding
|
static java.lang.Long |
getIDbyLocale(java.util.Locale locale)
Get a Locale ID given the Locale
|
static java.lang.Long |
getIDbyMimetype(java.lang.String mimetype)
Get a Mimetype ID given the Mimetype
|
static java.lang.Long |
getIDbyNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Get a NodeRef ID given the NodeRef
|
static java.lang.Long |
getIDbyQName(org.alfresco.service.namespace.QName qName)
Get a QName ID given the QName
|
static java.lang.Long |
getIDbyStoreRef(org.alfresco.service.cmr.repository.StoreRef storeRef)
Get a StoreRef ID given the StoreRef
|
static java.util.Locale |
getLocaleByID(java.lang.Long localeID)
Get a Locale given the Locale ID
|
static org.alfresco.repo.domain.locale.LocaleDAO |
getLocaleDAO() |
static java.lang.String |
getMimetypeByID(java.lang.Long mimeTypeID)
Get a Mimetype given the Mimetype ID
|
static org.alfresco.repo.domain.mimetype.MimetypeDAO |
getMimetypeDAO() |
static org.alfresco.repo.domain.node.NodeDAO |
getNodeDAO() |
static org.alfresco.service.cmr.repository.NodeRef |
getNodeRefByID(java.lang.Long nodeID)
Get a NodeRef given the NodeRef ID
|
static java.lang.String |
getOCName(org.alfresco.service.namespace.QName qName,
org.alfresco.service.namespace.NamespaceService namespaceService,
AlfrescoEmbDictionaryServiceImpl alfrescoOCDictionaryService)
Gets the OCName of a QName
|
static org.alfresco.service.namespace.QName |
getQNameByID(java.lang.Long qNameID)
Get a QName given the QName ID
|
static org.alfresco.repo.domain.qname.QNameDAO |
getQnameDAO() |
static org.alfresco.service.cmr.repository.StoreRef |
getStoreRefByID(java.lang.Long storeID)
Get a StoreRef given the StoreRef ID
|
static java.util.List<java.lang.Long> |
getSubAspectIDsOfAspect(org.alfresco.service.namespace.QName aspectQName,
org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
Gets all the sub aspect IDs of aspect, so when we pass in an aspect we actually query on it and all sub-aspects
|
static java.util.List<java.lang.Long> |
getSubTypeIDsOfType(org.alfresco.service.namespace.QName typeQName,
org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
Gets all the sub type IDs of a type, so when we pass in a type we actually query on all subtypes
|
static void |
postQueryProcess(java.util.List<OpenContentObject> queryResults)
Do any post processing for our results
|
void |
setEncodingReplaceDesignator(java.lang.String encodingReplaceDesignator) |
void |
setLocaleReplaceDesignator(java.lang.String localeReplaceDesignator) |
void |
setMimetypeReplaceDesignator(java.lang.String mimetypeReplaceDesignator) |
void |
setNodeReplaceDesignator(java.lang.String nodeReplaceDesignator) |
void |
setQnameReplaceDesignator(java.lang.String qnameReplaceDesignator) |
void |
setStoreReplaceDesignator(java.lang.String storeReplaceDesignator) |
static java.lang.String |
translateSQLQuery(java.lang.String ticket,
java.lang.String query,
boolean formatQuery)
Translate Alfresco SQL queries, using query placeholders to mark where we want to insert Alfresco DB IDs
We look for placeholders for types/properties/aspects, stores, and mimetypes which will be automatically processed into the corresponding DB ids
|
public static java.lang.Long getIDbyStoreRef(org.alfresco.service.cmr.repository.StoreRef storeRef)
storeRef
- the StoreRef to look up in the DAOpublic static java.lang.Long getIDbyNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef)
nodeRef
- the NodeRef to look up in the DAOpublic static java.lang.Long getIDbyQName(org.alfresco.service.namespace.QName qName)
qName
- the QName to look up in the DAOpublic static java.lang.Long getIDbyMimetype(java.lang.String mimetype)
mimetype
- the Mimetype to look up in the DAOpublic static java.lang.Long getIDbyEncoding(java.lang.String encoding)
encoding
- the Encoding to look up in the DAOpublic static java.lang.Long getIDbyLocale(java.util.Locale locale)
locale
- the Locale to look up in the DAOpublic static org.alfresco.service.cmr.repository.StoreRef getStoreRefByID(java.lang.Long storeID)
storeID
- the ID to look up in the DAOpublic static org.alfresco.service.cmr.repository.NodeRef getNodeRefByID(java.lang.Long nodeID)
nodeID
- the ID to look up in the DAOpublic static org.alfresco.service.namespace.QName getQNameByID(java.lang.Long qNameID)
qNameID
- the ID to look up in the DAOpublic static java.lang.String getMimetypeByID(java.lang.Long mimeTypeID)
mimeTypeID
- the ID to look up in the DAOpublic static java.lang.String getEncodingByID(java.lang.Long encodingID)
encodingID
- the ID to look up in the DAOpublic static java.util.Locale getLocaleByID(java.lang.Long localeID)
localeID
- the ID to look up in the DAOpublic static java.lang.String getOCName(org.alfresco.service.namespace.QName qName, org.alfresco.service.namespace.NamespaceService namespaceService, AlfrescoEmbDictionaryServiceImpl alfrescoOCDictionaryService)
qName
- the QName to get the ocName fornamespaceService
- so we can resolve prefixesalfrescoOCDictionaryService
- so we can get our constant name mappingspublic static void addStoreToMap(org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.cmr.repository.StoreRef> storeRefPair)
storeRefPair
- the storeID and storeRef to addpublic static void ensureSize(java.util.ArrayList<java.lang.Object> list, int size)
list
- the list to checksize
- the size we are checking againstpublic static java.lang.String convertAlfrescoDate(java.lang.String millisecondsStr) throws java.lang.NumberFormatException
millisecondsStr
- the milliseconds since epochjava.lang.NumberFormatException
- if the incoming string isn't a valid longpublic static java.util.List<java.lang.Long> getSubTypeIDsOfType(org.alfresco.service.namespace.QName typeQName, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
typeQName
- the QName to get all subTypes ofdictionaryService
- used to get all our subTypespublic static java.util.List<java.lang.Long> getSubAspectIDsOfAspect(org.alfresco.service.namespace.QName aspectQName, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
aspectQName
- the QName to get all sub-aspects ofdictionaryService
- used to get all our sub-aspectspublic static void postQueryProcess(java.util.List<OpenContentObject> queryResults)
queryResults
- public static java.lang.String getDBColumnName(org.alfresco.service.namespace.QName propertyQName, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
propertyQName
- - The QName for a propertydictionaryService
- - An Alfresco DictionaryServiceorg.alfresco.repo.search.impl.querymodel.QueryModelException
- the QName is unrecognizedpublic static java.lang.String translateSQLQuery(java.lang.String ticket, java.lang.String query, boolean formatQuery)
ticket
- query
- - A query we want to insert Alfresco DB Ids intoformatQuery
- - Do we format the query before returning it@Value(value="${sqlQueryTranslator.nodeReplaceDesignator:@node@}") public void setNodeReplaceDesignator(java.lang.String nodeReplaceDesignator)
@Value(value="${sqlQueryTranslator.qnameReplaceDesignator:@qname@}") public void setQnameReplaceDesignator(java.lang.String qnameReplaceDesignator)
@Value(value="${sqlQueryTranslator.storeReplaceDesignator:@store@}") public void setStoreReplaceDesignator(java.lang.String storeReplaceDesignator)
@Value(value="${sqlQueryTranslator.mimetypeReplaceDesignator:@mimetype@}") public void setMimetypeReplaceDesignator(java.lang.String mimetypeReplaceDesignator)
@Value(value="${sqlQueryTranslator.encodingReplaceDesignator:@encoding@}") public void setEncodingReplaceDesignator(java.lang.String encodingReplaceDesignator)
@Value(value="${sqlQueryTranslator.localeReplaceDesignator:@locale@}") public void setLocaleReplaceDesignator(java.lang.String localeReplaceDesignator)
public static org.alfresco.repo.domain.node.NodeDAO getNodeDAO()
public static org.alfresco.repo.domain.qname.QNameDAO getQnameDAO()
public static org.alfresco.repo.domain.mimetype.MimetypeDAO getMimetypeDAO()
public static org.alfresco.repo.domain.encoding.EncodingDAO getEncodingDAO()
public static org.alfresco.repo.domain.locale.LocaleDAO getLocaleDAO()