Class LuceneCategoryServiceImpl
- java.lang.Object
-
- org.alfresco.repo.search.impl.lucene.LuceneCategoryServiceImpl
-
- All Implemented Interfaces:
CategoryService
- Direct Known Subclasses:
NoIndexCategoryServiceImpl,SolrCategoryServiceImpl
public class LuceneCategoryServiceImpl extends java.lang.Object implements CategoryService
Category service implementation- Author:
- andyh
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.alfresco.service.cmr.search.CategoryService
CategoryService.Depth, CategoryService.Mode
-
-
Field Summary
Fields Modifier and Type Field Description protected org.alfresco.service.cmr.dictionary.DictionaryServicedictionaryServiceprotected IndexerAndSearcherindexerAndSearcherprotected org.alfresco.service.namespace.NamespacePrefixResolvernamespacePrefixResolverprotected org.alfresco.service.cmr.repository.NodeServicenodeServiceprotected org.alfresco.service.cmr.repository.NodeServicepublicNodeServiceprotected intqueryFetchSizeprotected org.alfresco.repo.tenant.TenantServicetenantService
-
Constructor Summary
Constructors Constructor Description LuceneCategoryServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.alfresco.service.cmr.repository.NodeRefcreateCategory(org.alfresco.service.cmr.repository.NodeRef parent, java.lang.String name)Create a new category.org.alfresco.service.cmr.repository.NodeRefcreateClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName typeName, java.lang.String attributeName)Create a new category.org.alfresco.service.cmr.repository.NodeRefcreateRootCategory(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String name)Create a new root category in the given classificationvoiddeleteCategory(org.alfresco.service.cmr.repository.NodeRef nodeRef)Delete a categoryvoiddeleteClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)Delete a classificationjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectQName, CategoryService.Depth depth)Get a list of all the categories appropriate for a given property.org.alfresco.service.cmr.repository.ChildAssociationRefgetCategory(org.alfresco.service.cmr.repository.NodeRef parent, org.alfresco.service.namespace.QName aspectName, java.lang.String name)Looks up a category by name under its immediate parent.java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getChildren(org.alfresco.service.cmr.repository.NodeRef categoryRef, CategoryService.Mode mode, CategoryService.Depth depth)Get the children of a given category nodejava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getChildren(org.alfresco.service.cmr.repository.NodeRef categoryRef, CategoryService.Mode mode, CategoryService.Depth depth, java.lang.String filter)java.util.Collection<org.alfresco.service.namespace.QName>getClassificationAspects()Get all the types that represent categoriesjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getClassifications(org.alfresco.service.cmr.repository.StoreRef storeRef)Get all the classification entriesjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)Get the root categories for an aspect/classificationjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String filter)Get the root categories for an aspect/classification with names that start with filterjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String name, boolean create)Gets root categories by name, optionally creating one if one does not exist.org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, org.alfresco.query.PagingRequest pagingRequest, boolean sortByName)Get a paged list of the root categories for an aspect/classificationorg.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, org.alfresco.query.PagingRequest pagingRequest, boolean sortByName, java.lang.String filter)Get a paged list of the root categories for an aspect/classificationjava.util.List<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,java.lang.Integer>>getTopCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, int count)Get the most polular categoriesvoidsetDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)Set the dictionary servicevoidsetIndexerAndSearcher(IndexerAndSearcher indexerAndSearcher)Set the indexer and searchervoidsetNamespacePrefixResolver(org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)Set the service to map prefixes to urisvoidsetNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)Set the node servicevoidsetPublicNodeService(org.alfresco.service.cmr.repository.NodeService publicNodeService)Set the public node servicevoidsetQueryFetchSize(int queryFetchSize)voidsetTenantService(org.alfresco.repo.tenant.TenantService tenantService)Set the tenant service
-
-
-
Field Detail
-
nodeService
protected org.alfresco.service.cmr.repository.NodeService nodeService
-
publicNodeService
protected org.alfresco.service.cmr.repository.NodeService publicNodeService
-
tenantService
protected org.alfresco.repo.tenant.TenantService tenantService
-
namespacePrefixResolver
protected org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver
-
dictionaryService
protected org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService
-
indexerAndSearcher
protected IndexerAndSearcher indexerAndSearcher
-
queryFetchSize
protected int queryFetchSize
-
-
Method Detail
-
setNodeService
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
Set the node service- Parameters:
nodeService- NodeService
-
setPublicNodeService
public void setPublicNodeService(org.alfresco.service.cmr.repository.NodeService publicNodeService)
Set the public node service- Parameters:
publicNodeService- NodeService
-
setTenantService
public void setTenantService(org.alfresco.repo.tenant.TenantService tenantService)
Set the tenant service- Parameters:
tenantService- TenantService
-
setNamespacePrefixResolver
public void setNamespacePrefixResolver(org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
Set the service to map prefixes to uris- Parameters:
namespacePrefixResolver- NamespacePrefixResolver
-
setDictionaryService
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
Set the dictionary service- Parameters:
dictionaryService- DictionaryService
-
setIndexerAndSearcher
public void setIndexerAndSearcher(IndexerAndSearcher indexerAndSearcher)
Set the indexer and searcher- Parameters:
indexerAndSearcher- IndexerAndSearcher
-
setQueryFetchSize
public void setQueryFetchSize(int queryFetchSize)
-
getChildren
public java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getChildren(org.alfresco.service.cmr.repository.NodeRef categoryRef, CategoryService.Mode mode, CategoryService.Depth depth)Description copied from interface:CategoryServiceGet the children of a given category node- Specified by:
getChildrenin interfaceCategoryService- Parameters:
categoryRef- - the category nodemode- - the enumeration mode for what to recoverdepth- - the enumeration depth for what level to recover- Returns:
- a collection of all the nodes found identified by their ChildAssocRef's
-
getChildren
public java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getChildren(org.alfresco.service.cmr.repository.NodeRef categoryRef, CategoryService.Mode mode, CategoryService.Depth depth, java.lang.String filter)
-
getCategories
public java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectQName, CategoryService.Depth depth)Description copied from interface:CategoryServiceGet a list of all the categories appropriate for a given property. The full list of categories that may be assigned for this aspect.- Specified by:
getCategoriesin interfaceCategoryService- Parameters:
storeRef- StoreRefaspectQName- QNamedepth- - the enumeration depth for what level to recover- Returns:
- a collection of all the nodes found identified by their ChildAssocRef's
-
getClassifications
public java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getClassifications(org.alfresco.service.cmr.repository.StoreRef storeRef)
Description copied from interface:CategoryServiceGet all the classification entries- Specified by:
getClassificationsin interfaceCategoryService
-
getClassificationAspects
public java.util.Collection<org.alfresco.service.namespace.QName> getClassificationAspects()
Description copied from interface:CategoryServiceGet all the types that represent categories- Specified by:
getClassificationAspectsin interfaceCategoryService
-
createClassification
public org.alfresco.service.cmr.repository.NodeRef createClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName typeName, java.lang.String attributeName)Description copied from interface:CategoryServiceCreate a new category. This will extend the category types in the data dictionary All it needs is the type name and the attribute in which to store noderefs to categories.- Specified by:
createClassificationin interfaceCategoryService- Parameters:
storeRef- StoreReftypeName- QNameattributeName- String
-
getRootCategories
public org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, org.alfresco.query.PagingRequest pagingRequest, boolean sortByName)Description copied from interface:CategoryServiceGet a paged list of the root categories for an aspect/classification- Specified by:
getRootCategoriesin interfaceCategoryService- Parameters:
storeRef- StoreRefaspectName- QNamepagingRequest- PagingRequestsortByName- boolean
-
getRootCategories
public org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, org.alfresco.query.PagingRequest pagingRequest, boolean sortByName, java.lang.String filter)Description copied from interface:CategoryServiceGet a paged list of the root categories for an aspect/classification- Specified by:
getRootCategoriesin interfaceCategoryService- Returns:
-
getRootCategories
public java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)Description copied from interface:CategoryServiceGet the root categories for an aspect/classification- Specified by:
getRootCategoriesin interfaceCategoryService- Parameters:
storeRef- StoreRefaspectName- QName
-
getRootCategories
public java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String filter)Description copied from interface:CategoryServiceGet the root categories for an aspect/classification with names that start with filter- Specified by:
getRootCategoriesin interfaceCategoryService- Parameters:
storeRef- StoreRefaspectName- QNamefilter- String
-
getCategory
public org.alfresco.service.cmr.repository.ChildAssociationRef getCategory(org.alfresco.service.cmr.repository.NodeRef parent, org.alfresco.service.namespace.QName aspectName, java.lang.String name)Description copied from interface:CategoryServiceLooks up a category by name under its immediate parent. Index-independent so can be used for cluster-safe existence checks.- Specified by:
getCategoryin interfaceCategoryService- Parameters:
parent- the parentaspectName- the aspect namename- the category name- Returns:
- the category child association reference
-
getRootCategories
public java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String name, boolean create)Description copied from interface:CategoryServiceGets root categories by name, optionally creating one if one does not exist. Index-independent so can be used for cluster-safe existence checks.- Specified by:
getRootCategoriesin interfaceCategoryService- Parameters:
storeRef- the store refaspectName- the aspect namename- the aspect namecreate- should a category node be created if one does not exist?- Returns:
- the root categories
-
createCategory
public org.alfresco.service.cmr.repository.NodeRef createCategory(org.alfresco.service.cmr.repository.NodeRef parent, java.lang.String name)Description copied from interface:CategoryServiceCreate a new category.- Specified by:
createCategoryin interfaceCategoryService- Parameters:
parent- NodeRefname- String- Returns:
- NodeRef
-
createRootCategory
public org.alfresco.service.cmr.repository.NodeRef createRootCategory(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String name)Description copied from interface:CategoryServiceCreate a new root category in the given classification- Specified by:
createRootCategoryin interfaceCategoryService- Parameters:
storeRef- StoreRefaspectName- QNamename- String- Returns:
- NodeRef
-
deleteCategory
public void deleteCategory(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface:CategoryServiceDelete a category- Specified by:
deleteCategoryin interfaceCategoryService- Parameters:
nodeRef- NodeRef
-
deleteClassification
public void deleteClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)Description copied from interface:CategoryServiceDelete a classification- Specified by:
deleteClassificationin interfaceCategoryService- Parameters:
storeRef- StoreRefaspectName- QName
-
getTopCategories
public java.util.List<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,java.lang.Integer>> getTopCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, int count)Description copied from interface:CategoryServiceGet the most polular categories- Specified by:
getTopCategoriesin interfaceCategoryService- Parameters:
storeRef- StoreRefaspectName- QNamecount- int- Returns:
- List
-
-