public class TaggingServiceImpl extends Object implements TaggingService, TransactionListener, NodeServicePolicies.BeforeDeleteNodePolicy, NodeServicePolicies.OnMoveNodePolicy, CopyServicePolicies.OnCopyCompletePolicy, CopyServicePolicies.BeforeCopyPolicy
Policy.Arg
Modifier and Type | Field and Description |
---|---|
static String |
TAG_UPDATES |
protected static String |
TAGGING_AUDIT_APPLICATION_NAME |
protected static String |
TAGGING_AUDIT_KEY_NODEREF |
protected static String |
TAGGING_AUDIT_KEY_TAGS |
protected static String |
TAGGING_AUDIT_ROOT_PATH |
QNAME
QNAME
QNAME
QNAME
Constructor and Description |
---|
TaggingServiceImpl() |
Modifier and Type | Method and Description |
---|---|
org.alfresco.service.cmr.repository.NodeRef |
addTag(org.alfresco.service.cmr.repository.NodeRef nodeRef,
String tagName)
Add a tag to a node.
|
List<org.alfresco.util.Pair<String,org.alfresco.service.cmr.repository.NodeRef>> |
addTags(org.alfresco.service.cmr.repository.NodeRef nodeRef,
List<String> tags)
Adds a list of tags to a node.
|
void |
addTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Adds a tag scope to the specified node
|
void |
afterCheckOut(org.alfresco.service.cmr.repository.NodeRef workingCopy) |
void |
afterCommit()
Invoked after transaction commit.
|
void |
afterRollback()
Invoked after transaction rollback.
|
void |
beforeCommit(boolean readOnly)
Called before a transaction is committed.
|
void |
beforeCompletion()
Invoked before transaction commit/rollback.
|
void |
beforeCopy(org.alfresco.service.namespace.QName classRef,
org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
org.alfresco.service.cmr.repository.NodeRef targetNodeRef)
Fired once per node, before a copy overrides one node (which is possibly newly created) with the contents
of another one.
|
void |
beforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Called before a node is deleted.
|
org.alfresco.service.cmr.repository.NodeRef |
changeTag(org.alfresco.service.cmr.repository.StoreRef storeRef,
String existingTag,
String newTag) |
void |
clearTags(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Clears all tags from an already tagged node.
|
org.alfresco.service.cmr.repository.NodeRef |
createTag(org.alfresco.service.cmr.repository.StoreRef storeRef,
String tag)
Create a new tag
|
void |
createTags(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef) |
void |
deleteTag(org.alfresco.service.cmr.repository.StoreRef storeRef,
String tag)
Delete an existing tag and any references to it(cascade delete).
|
List<TagScope> |
findAllTagScopes(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Finds all the tag scopes for the specified node.
|
List<org.alfresco.service.cmr.repository.NodeRef> |
findTaggedNodes(org.alfresco.service.cmr.repository.StoreRef storeRef,
String tag)
Find all nodes that have been tagged with the specified tag.
|
List<org.alfresco.service.cmr.repository.NodeRef> |
findTaggedNodes(org.alfresco.service.cmr.repository.StoreRef storeRef,
String tag,
org.alfresco.service.cmr.repository.NodeRef nodeRef)
Find all nodes that have been tagged with the specified tag and reside within
the context of the node reference provided.
|
TagScope |
findTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Finds the 'nearest' tag scope for the specified node.
|
void |
flush() |
org.alfresco.util.Pair<List<String>,Integer> |
getPagedTags(org.alfresco.service.cmr.repository.StoreRef storeRef,
int fromTag,
int pageSize)
Get page of the tags currently available
|
org.alfresco.util.Pair<List<String>,Integer> |
getPagedTags(org.alfresco.service.cmr.repository.StoreRef storeRef,
String filter,
int fromTag,
int pageSize) |
String |
getTagName(org.alfresco.service.cmr.repository.NodeRef nodeRef) |
org.alfresco.service.cmr.repository.NodeRef |
getTagNodeRef(org.alfresco.service.cmr.repository.StoreRef storeRef,
String tag)
Gets the node reference for a given tag.
|
List<String> |
getTags(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Get all the tags on a node
|
org.alfresco.query.PagingResults<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,String>> |
getTags(org.alfresco.service.cmr.repository.NodeRef nodeRef,
org.alfresco.query.PagingRequest pagingRequest)
Get a paged list of all the tags on a node
|
List<String> |
getTags(org.alfresco.service.cmr.repository.StoreRef storeRef)
Get all the tags currently available
|
org.alfresco.query.PagingResults<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,String>> |
getTags(org.alfresco.service.cmr.repository.StoreRef storeRef,
org.alfresco.query.PagingRequest pagingRequest)
Get a paged list of all the tags currently available
|
List<String> |
getTags(org.alfresco.service.cmr.repository.StoreRef storeRef,
String filter)
Get all the tags currently available that match the provided filter.
|
boolean |
hasTag(org.alfresco.service.cmr.repository.NodeRef nodeRef,
String tag)
Indicates whether a node has the specified tag or not.
|
void |
init()
Init method
|
boolean |
isTag(org.alfresco.service.cmr.repository.StoreRef storeRef,
String tag)
Indicates whether the tag already exists
|
boolean |
isTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Indicates whether the node reference is a tag scope
|
void |
onCopyComplete(org.alfresco.service.namespace.QName classRef,
org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
org.alfresco.service.cmr.repository.NodeRef targetNodeRef,
boolean copyToNewNode,
Map<org.alfresco.service.cmr.repository.NodeRef,org.alfresco.service.cmr.repository.NodeRef> copyMap)
Fired once per node that was copied, after the copy has completed.
|
void |
onMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef,
org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)
Called when a node has been moved.
|
void |
refreshTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef,
boolean async)
Refreshes the tag count of the passed tag scope by recounting all the tags of the children
of the scope.
|
void |
removeTag(org.alfresco.service.cmr.repository.NodeRef nodeRef,
String tag)
Remove a tag from a node.
|
void |
removeTags(org.alfresco.service.cmr.repository.NodeRef nodeRef,
List<String> tags)
Removes a list of tags from a node.
|
void |
removeTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Removes a tag scope from a specified node.
|
void |
setActionService(ActionService actionService)
Set the action service
|
void |
setAuditComponent(AuditComponent auditComponent)
Set the audit component
|
void |
setCategoryService(CategoryService categoryService)
Set the cateogry service
|
void |
setContentService(ContentService contentService)
Set the content service
|
void |
setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService)
Set the namespace service
|
void |
setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
Set the node service
|
void |
setNodeServiceInternal(org.alfresco.service.cmr.repository.NodeService nodeServiceInternal) |
void |
setPolicyComponent(PolicyComponent policyComponent)
Policy component
|
void |
setSearchService(org.alfresco.service.cmr.search.SearchService searchService)
Set the search service
|
void |
setTags(org.alfresco.service.cmr.repository.NodeRef nodeRef,
List<String> tags)
Sets the list of tags that are applied to a node, replaces any existing
tags with those provided.
|
void |
updateTags(org.alfresco.service.cmr.repository.NodeRef nodeRef,
Map<org.alfresco.service.namespace.QName,Serializable> before,
Map<org.alfresco.service.namespace.QName,Serializable> after)
Update tag policy behaviour
|
protected static final String TAGGING_AUDIT_APPLICATION_NAME
protected static final String TAGGING_AUDIT_ROOT_PATH
protected static final String TAGGING_AUDIT_KEY_NODEREF
protected static final String TAGGING_AUDIT_KEY_TAGS
public static final String TAG_UPDATES
public void setCategoryService(CategoryService categoryService)
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
public void setNodeServiceInternal(org.alfresco.service.cmr.repository.NodeService nodeServiceInternal)
nodeServiceInternal
- service to use when permission checks are not requiredpublic void setSearchService(org.alfresco.service.cmr.search.SearchService searchService)
public void setActionService(ActionService actionService)
public void setContentService(ContentService contentService)
public void setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService)
public void setPolicyComponent(PolicyComponent policyComponent)
public void setAuditComponent(AuditComponent auditComponent)
public void init()
public void beforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
NodeServicePolicies.BeforeDeleteNodePolicy
beforeDeleteNode
in interface NodeServicePolicies.BeforeDeleteNodePolicy
nodeRef
- the node referenceNodeServicePolicies.BeforeDeleteNodePolicy.beforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef)
public void beforeCopy(org.alfresco.service.namespace.QName classRef, org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef)
beforeCopy
in interface CopyServicePolicies.BeforeCopyPolicy
classRef
- the type of the node that will be copiedsourceNodeRef
- the original nodetargetNodeRef
- the destination nodepublic void onCopyComplete(org.alfresco.service.namespace.QName classRef, org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, boolean copyToNewNode, Map<org.alfresco.service.cmr.repository.NodeRef,org.alfresco.service.cmr.repository.NodeRef> copyMap)
onCopyComplete
in interface CopyServicePolicies.OnCopyCompletePolicy
classRef
- the type of the node that was copiedsourceNodeRef
- the original nodetargetNodeRef
- the destination nodecopyMap
- a map containing all the nodes that have been created during the copypublic void onMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)
NodeServicePolicies.OnMoveNodePolicy
onMoveNode
in interface NodeServicePolicies.OnMoveNodePolicy
oldChildAssocRef
- the child association reference prior to the movenewChildAssocRef
- the child association reference after the movepublic void createTags(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
public void updateTags(org.alfresco.service.cmr.repository.NodeRef nodeRef, Map<org.alfresco.service.namespace.QName,Serializable> before, Map<org.alfresco.service.namespace.QName,Serializable> after)
public String getTagName(org.alfresco.service.cmr.repository.NodeRef nodeRef)
getTagName
in interface TaggingService
public boolean isTag(org.alfresco.service.cmr.repository.StoreRef storeRef, String tag)
TaggingService
isTag
in interface TaggingService
storeRef
- store referencetag
- tag nameTaggingService.isTag(StoreRef, java.lang.String)
public org.alfresco.service.cmr.repository.NodeRef createTag(org.alfresco.service.cmr.repository.StoreRef storeRef, String tag)
TaggingService
createTag
in interface TaggingService
storeRef
- store referencetag
- tag nameTaggingService.createTag(StoreRef, java.lang.String)
public void deleteTag(org.alfresco.service.cmr.repository.StoreRef storeRef, String tag)
TaggingService
deleteTag
in interface TaggingService
storeRef
- store referencetag
- tag nameTaggingService.deleteTag(org.alfresco.service.cmr.repository.StoreRef, java.lang.String)
public org.alfresco.service.cmr.repository.NodeRef changeTag(org.alfresco.service.cmr.repository.StoreRef storeRef, String existingTag, String newTag)
changeTag
in interface TaggingService
public List<String> getTags(org.alfresco.service.cmr.repository.StoreRef storeRef)
TaggingService
getTags
in interface TaggingService
TaggingService.getTags(StoreRef)
public org.alfresco.util.Pair<List<String>,Integer> getPagedTags(org.alfresco.service.cmr.repository.StoreRef storeRef, int fromTag, int pageSize)
TaggingService
getPagedTags
in interface TaggingService
storeRef
- node referencefromTag
- offsetpageSize
- page sizepublic List<String> getTags(org.alfresco.service.cmr.repository.StoreRef storeRef, String filter)
TaggingService
getTags
in interface TaggingService
storeRef
- store referencefilter
- tag filterTaggingService.getTags(org.alfresco.service.cmr.repository.StoreRef, java.lang.String)
public org.alfresco.util.Pair<List<String>,Integer> getPagedTags(org.alfresco.service.cmr.repository.StoreRef storeRef, String filter, int fromTag, int pageSize)
getPagedTags
in interface TaggingService
storeRef
- node referencefilter
- tag filterfromTag
- page offsetpageSize
- page sizepublic boolean hasTag(org.alfresco.service.cmr.repository.NodeRef nodeRef, String tag)
TaggingService
hasTag
in interface TaggingService
nodeRef
- node referencetag
- tag nameTaggingService.hasTag(org.alfresco.service.cmr.repository.NodeRef, java.lang.String)
public org.alfresco.service.cmr.repository.NodeRef addTag(org.alfresco.service.cmr.repository.NodeRef nodeRef, String tagName)
TaggingService
addTag
in interface TaggingService
nodeRef
- node referencetagName
- tag nameTaggingService.addTag(org.alfresco.service.cmr.repository.NodeRef, java.lang.String)
public List<org.alfresco.util.Pair<String,org.alfresco.service.cmr.repository.NodeRef>> addTags(org.alfresco.service.cmr.repository.NodeRef nodeRef, List<String> tags)
TaggingService
Tags are created if they do not exist.
addTags
in interface TaggingService
nodeRef
- node referencetags
- list of tagsTaggingService.addTags(org.alfresco.service.cmr.repository.NodeRef, java.util.List)
public org.alfresco.service.cmr.repository.NodeRef getTagNodeRef(org.alfresco.service.cmr.repository.StoreRef storeRef, String tag)
Returns null if tag is not present.
getTagNodeRef
in interface TaggingService
storeRef
- store referencetag
- tagpublic void removeTag(org.alfresco.service.cmr.repository.NodeRef nodeRef, String tag)
TaggingService
removeTag
in interface TaggingService
nodeRef
- node referencetag
- tag nameTaggingService.removeTag(org.alfresco.service.cmr.repository.NodeRef, java.lang.String)
public void removeTags(org.alfresco.service.cmr.repository.NodeRef nodeRef, List<String> tags)
TaggingService
removeTags
in interface TaggingService
nodeRef
- node referencetags
- list of tagsTaggingService.removeTags(org.alfresco.service.cmr.repository.NodeRef, java.util.List)
public org.alfresco.query.PagingResults<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,String>> getTags(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.query.PagingRequest pagingRequest)
TaggingService
getTags
in interface TaggingService
nodeRef
- node referenceTaggingService.getTags(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.query.PagingRequest)
public org.alfresco.query.PagingResults<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,String>> getTags(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.query.PagingRequest pagingRequest)
TaggingService
getTags
in interface TaggingService
storeRef
- StoreRefpagingRequest
- PagingRequestTaggingService.getTags(org.alfresco.service.cmr.repository.StoreRef, org.alfresco.query.PagingRequest)
public List<String> getTags(org.alfresco.service.cmr.repository.NodeRef nodeRef)
TaggingService
getTags
in interface TaggingService
nodeRef
- node referenceTaggingService.getTags(org.alfresco.service.cmr.repository.NodeRef)
public void setTags(org.alfresco.service.cmr.repository.NodeRef nodeRef, List<String> tags)
TaggingService
setTags
in interface TaggingService
nodeRef
- node referencetags
- list of tagsTaggingService.setTags(org.alfresco.service.cmr.repository.NodeRef, java.util.List)
public void clearTags(org.alfresco.service.cmr.repository.NodeRef nodeRef)
TaggingService
clearTags
in interface TaggingService
nodeRef
- node referenceTaggingService.clearTags(org.alfresco.service.cmr.repository.NodeRef)
public boolean isTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef)
TaggingService
isTagScope
in interface TaggingService
nodeRef
- node referenceTaggingService.isTagScope(org.alfresco.service.cmr.repository.NodeRef)
public void addTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef)
TaggingService
addTagScope
in interface TaggingService
nodeRef
- node referenceTaggingService.addTagScope(org.alfresco.service.cmr.repository.NodeRef)
public void refreshTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean async)
TaggingService
refreshTagScope
in interface TaggingService
nodeRef
- tag scope node referenceasync
- indicates whether the tag scope refresh should happen asynchronously or notTaggingService.refreshTagScope(org.alfresco.service.cmr.repository.NodeRef, boolean)
public void removeTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef)
TaggingService
removeTagScope
in interface TaggingService
nodeRef
- node referenceTaggingService.removeTagScope(org.alfresco.service.cmr.repository.NodeRef)
public TagScope findTagScope(org.alfresco.service.cmr.repository.NodeRef nodeRef)
TaggingService
The 'nearest' tag scope is discovered by walking up the primary parent path until a tag scope is found or the root node is reached.
If no tag scope if found then a null value is returned.
findTagScope
in interface TaggingService
nodeRef
- node referenceTaggingService.findTagScope(org.alfresco.service.cmr.repository.NodeRef)
public List<TagScope> findAllTagScopes(org.alfresco.service.cmr.repository.NodeRef nodeRef)
TaggingService
The resulting list of tag scopes is ordered with the 'nearest' at the bedining of the list.
If no tag scopes are found an empty list is returned.
findAllTagScopes
in interface TaggingService
nodeRef
- node referenceTaggingService.findAllTagScopes(org.alfresco.service.cmr.repository.NodeRef)
public List<org.alfresco.service.cmr.repository.NodeRef> findTaggedNodes(org.alfresco.service.cmr.repository.StoreRef storeRef, String tag)
TaggingService
findTaggedNodes
in interface TaggingService
tag
- tag nameTaggingService.findTaggedNodes(StoreRef, java.lang.String)
public List<org.alfresco.service.cmr.repository.NodeRef> findTaggedNodes(org.alfresco.service.cmr.repository.StoreRef storeRef, String tag, org.alfresco.service.cmr.repository.NodeRef nodeRef)
TaggingService
findTaggedNodes
in interface TaggingService
tag
- tag namenodeRef
- node providing context for the searchTaggingService.findTaggedNodes(StoreRef, java.lang.String, org.alfresco.service.cmr.repository.NodeRef)
public void afterCommit()
TransactionListener
Any exceptions generated here will only be logged and will have no effect on the state of the transaction.
Although all transaction resources are still available, this method should be used only for cleaning up resources after a commit has occured.
afterCommit
in interface org.alfresco.util.transaction.TransactionListener
TransactionListener.afterCommit()
public void afterRollback()
TransactionListener
Any exceptions generated here will only be logged and will have no effect on the state of the transaction.
Although all transaction resources are still available, this method should be used only for cleaning up resources after a rollback has occured.
afterRollback
in interface org.alfresco.util.transaction.TransactionListener
TransactionListener.afterRollback()
public void beforeCommit(boolean readOnly)
TransactionListener
All transaction resources are still available.
beforeCommit
in interface org.alfresco.util.transaction.TransactionListener
readOnly
- true if the transaction is read-onlyTransactionListener.beforeCommit(boolean)
public void beforeCompletion()
TransactionListener
TransactionListener.beforeCommit(boolean)
even if TransactionListener.beforeCommit(boolean)
failed.
All transaction resources are still available.
beforeCompletion
in interface org.alfresco.util.transaction.TransactionListener
TransactionListener.beforeCompletion()
public void flush()
TransactionListener.flush()
public void afterCheckOut(org.alfresco.service.cmr.repository.NodeRef workingCopy)
Copyright © 2005–2017 Alfresco Software. All rights reserved.