Package org.alfresco.rest.api.impl
Class NodesImpl
- java.lang.Object
-
- org.alfresco.rest.api.impl.NodesImpl
-
- All Implemented Interfaces:
Nodes
public class NodesImpl extends java.lang.Object implements Nodes
Centralises access to file/folder/node services and maps between representations. Note: This class was originally used for returning some basic node info when listing Favourites. It has now been re-purposed and extended to implement the new Nodes (RESTful) API for managing files & folders, as well as custom node types.- Since:
- publicapi1.0
- Author:
- steveglover, janv, Jamal Kaabi-Mofrad
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Map<java.lang.String,org.alfresco.service.namespace.QName>
PARAM_SYNONYMS_QNAME
static java.util.List<org.alfresco.service.namespace.QName>
PROPS_USERLOOKUP
-
Fields inherited from interface org.alfresco.rest.api.Nodes
OP_CREATE, OP_DELETE, OP_UPDATE, OP_UPDATE_PERMISSIONS, PARAM_ASSOC_TYPE, PARAM_AUTO_RENAME, PARAM_CREATEBYUSER, PARAM_CREATEDAT, PARAM_INCLUDE_ALLOWABLEOPERATIONS, PARAM_INCLUDE_ASPECTNAMES, PARAM_INCLUDE_ASSOCIATION, PARAM_INCLUDE_ISFAVORITE, PARAM_INCLUDE_ISLINK, PARAM_INCLUDE_ISLOCKED, PARAM_INCLUDE_PATH, PARAM_INCLUDE_PERMISSIONS, PARAM_INCLUDE_PROPERTIES, PARAM_INCLUDE_SUBTYPES, PARAM_ISFILE, PARAM_ISFOLDER, PARAM_ISPRIMARY, PARAM_MIMETYPE, PARAM_MODIFIEDAT, PARAM_MODIFIEDBYUSER, PARAM_NAME, PARAM_NODETYPE, PARAM_OVERWRITE, PARAM_PERMANENT, PARAM_RELATIVE_PATH, PARAM_SIZEINBYTES, PARAM_VERSION_COMMENT, PARAM_VERSION_MAJOR, PATH_MY, PATH_ROOT, PATH_SHARED
-
-
Constructor Summary
Constructors Constructor Description NodesImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.util.List<AssocChild>
addChildren(java.lang.String parentNodeId, java.util.List<AssocChild> entities)
void
addCustomAspects(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.List<java.lang.String> aspectNames, java.util.List<org.alfresco.service.namespace.QName> excludedAspects)
Add aspects to the specified NodeRef.java.util.List<AssocTarget>
addTargets(java.lang.String sourceNodeId, java.util.List<AssocTarget> entities)
protected java.util.Set<org.alfresco.service.namespace.QName>
buildAssocTypes(org.alfresco.service.namespace.QName assocTypeQName)
protected org.alfresco.util.Pair<java.util.Set<org.alfresco.service.namespace.QName>,java.util.Set<org.alfresco.service.namespace.QName>>
buildSearchTypesAndIgnoreAspects(Parameters parameters)
protected org.alfresco.util.Pair<java.util.Set<org.alfresco.service.namespace.QName>,java.util.Set<org.alfresco.service.namespace.QName>>
buildSearchTypesAndIgnoreAspects(org.alfresco.service.namespace.QName nodeTypeQName, boolean includeSubTypes, java.util.Set<org.alfresco.service.namespace.QName> ignoreQNameTypes, java.lang.Boolean includeFiles, java.lang.Boolean includeFolders)
Node
createNode(java.lang.String parentFolderNodeId, Node nodeInfo, Parameters parameters)
Create node - folder or (empty) file.org.alfresco.service.namespace.QName
createQName(java.lang.String qnameStr)
Helper to create a QName from either a fully qualified or short-name QName stringprotected java.util.List<org.alfresco.service.namespace.QName>
createQNames(java.util.List<java.lang.String> qnameStrList, java.util.List<org.alfresco.service.namespace.QName> excludedProps)
Helper to create a QName from either a fully qualified or short-name QName stringprotected void
createVersion(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean isVersioned, org.alfresco.service.cmr.version.VersionType versionType, java.lang.String reason)
void
deleteNode(java.lang.String nodeId, Parameters parameters)
Delete the given node.protected static java.lang.String
determineActivityType(org.alfresco.rest.api.impl.NodesImpl.Activity_Type activity_type, boolean isFolder)
protected org.alfresco.service.cmr.action.ActionService
getActionService()
protected org.alfresco.service.cmr.activities.ActivityInfo
getActivityInfo(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.cmr.repository.NodeRef nodeRef)
org.alfresco.service.namespace.QName
getAssocType(java.lang.String assocTypeQNameStr)
org.alfresco.service.namespace.QName
getAssocType(java.lang.String assocTypeQNameStr, boolean mandatory)
protected org.alfresco.service.cmr.security.AuthorityService
getAuthorityService()
BinaryResource
getContent(java.lang.String fileNodeId, Parameters parameters, boolean recordActivity)
Download file content.BinaryResource
getContent(org.alfresco.service.cmr.repository.NodeRef nodeRef, Parameters parameters, boolean recordActivity)
Download file content.protected org.alfresco.service.cmr.repository.ContentService
getContentService()
protected org.alfresco.service.cmr.dictionary.DictionaryService
getDictionaryService()
Document
getDocument(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Deprecated.note: currently required for backwards compat' (Favourites API)protected org.alfresco.service.cmr.model.FileFolderService
getFileFolderService()
Folder
getFolder(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Deprecated.note: currently required for backwards compat' (Favourites API)Node
getFolderOrDocument(java.lang.String nodeId, Parameters parameters)
Get the folder or document representation (as appropriate) for the given node.Node
getFolderOrDocument(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.namespace.QName nodeTypeQName, java.util.List<java.lang.String> includeParam, java.util.Map<java.lang.String,UserInfo> mapUserInfo)
Get the folder or document representation (as appropriate) for the given node.Node
getFolderOrDocumentFullInfo(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.namespace.QName nodeTypeQName, Parameters parameters, java.util.Map<java.lang.String,UserInfo> mapUserInfo)
protected java.util.List<org.alfresco.repo.node.getchildren.FilterProp>
getListChildrenFilterProps(Parameters parameters)
Returns a List of filter properties specified by request parameters.protected java.util.List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,java.lang.Boolean>>
getListChildrenSortProps(Parameters parameters)
Returns a List of sort properties specified by the "sorting" request parameter.protected java.util.List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,java.lang.Boolean>>
getListChildrenSortPropsDefault()
Returns the default sort order.protected org.alfresco.service.cmr.lock.LockService
getLockService()
protected org.alfresco.service.cmr.repository.MimetypeService
getMimetypeService()
protected org.alfresco.service.namespace.NamespaceService
getNamespaceService()
Node
getNode(java.lang.String nodeId)
Deprecated.review usage (backward compat')Node
getNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Deprecated.review usage (backward compat')protected NodeAssocService
getNodeAssocService()
protected org.alfresco.service.cmr.repository.NodeService
getNodeService()
protected org.alfresco.service.cmr.security.OwnableService
getOwnableService()
protected org.alfresco.service.cmr.security.PermissionService
getPermissionService()
protected org.alfresco.service.cmr.security.PersonService
getPersonService()
protected org.alfresco.service.cmr.activities.ActivityPoster
getPoster()
protected QuickShareLinks
getQuickShareLinks()
protected org.alfresco.repo.model.Repository
getRepositoryHelper()
protected org.alfresco.repo.transaction.RetryingTransactionHelper
getRetryingTransactionHelper()
protected org.alfresco.service.cmr.site.SiteService
getSiteService()
protected org.alfresco.repo.virtual.store.VirtualStore
getSmartStore()
protected org.alfresco.service.cmr.thumbnail.ThumbnailService
getThumbnailService()
protected org.alfresco.service.cmr.version.VersionService
getVersionService()
void
init()
protected boolean
isSpecialNode(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName type)
Check for special case: additional node validation (pending common lower-level service support) for blacklist of system nodes that should not be deleted or locked, eg.boolean
isSubClass(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName ofClassQName, boolean validateNodeRef)
Determines whether the type of the given nodeRef is a sub-class of another class or not.CollectionWithPagingInfo<Node>
listChildren(java.lang.String parentFolderNodeId, Parameters parameters)
Get list of children of a parent folder.Node
lock(java.lang.String nodeId, LockInfo lockInfo, Parameters parameters)
Lock a nodePathInfo
lookupPathInfo(org.alfresco.service.cmr.repository.NodeRef nodeRefIn, org.alfresco.service.cmr.repository.ChildAssociationRef archivedParentAssoc)
Returns the path to the given nodeRefnodeRefIn
or the archived nodeRefarchivedParentAssoc
.java.util.List<java.lang.String>
mapFromNodeAspects(java.util.Set<org.alfresco.service.namespace.QName> nodeAspects, java.util.List<java.lang.String> excludedNS, java.util.List<org.alfresco.service.namespace.QName> excludedAspects)
Map from aspects (Set of QName) retrieved from the repository to a map List of String required that can be formatted/expressed as required by the API JSON response for get nodes, get person etc.java.util.Map<java.lang.String,java.lang.Object>
mapFromNodeProperties(java.util.Map<org.alfresco.service.namespace.QName,java.io.Serializable> nodeProps, java.util.List<java.lang.String> selectParam, java.util.Map<java.lang.String,UserInfo> mapUserInfo, java.util.List<java.lang.String> excludedNS, java.util.List<org.alfresco.service.namespace.QName> excludedProps)
Convert from node properties (map of QName to Serializable) retrieved from the respository to a map of String to Object that can be formatted/expressed as required by the API JSON response for get nodes, get person etc.java.util.Set<org.alfresco.service.namespace.QName>
mapToNodeAspects(java.util.List<java.lang.String> aspectNames)
Map from a String representation of aspect names to a set of QName objects, as used by the repository.java.util.Map<org.alfresco.service.namespace.QName,java.io.Serializable>
mapToNodeProperties(java.util.Map<java.lang.String,java.lang.Object> props)
Map from the JSON API format of properties (String to Object) to the typical node properties map used by the repository (QName to Serializable).protected org.alfresco.service.cmr.model.FileInfo
moveOrCopyImpl(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String name, boolean isCopy)
Node
moveOrCopyNode(java.lang.String sourceNodeId, java.lang.String targetParentId, java.lang.String name, Parameters parameters, boolean isCopy)
Move or Copy nodeboolean
nodeMatches(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Set<org.alfresco.service.namespace.QName> expectedTypes, java.util.Set<org.alfresco.service.namespace.QName> excludedTypes)
protected void
postActivity(org.alfresco.rest.api.impl.NodesImpl.Activity_Type activity_type, org.alfresco.service.cmr.activities.ActivityInfo activityInfo, boolean aSync)
Posts activities based on the activity_type.protected void
processNodePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, Node nodeInfo)
protected org.alfresco.service.cmr.repository.NodeRef
resolveNodeByPath(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String path, boolean checkForCompanyHome)
void
setBehaviourFilter(org.alfresco.repo.policy.BehaviourFilter behaviourFilter)
void
setIgnoreTypes(java.util.Set<java.lang.String> ignoreTypesAndAspects)
void
setNodeAssocService(NodeAssocService nodeAssocService)
void
setNonAttachContentTypes(java.util.Set<java.lang.String> nonAttachWhiteList)
void
setPoster(org.alfresco.service.cmr.activities.ActivityPoster poster)
void
setQuickShareLinks(QuickShareLinks quickShareLinks)
void
setRepositoryHelper(org.alfresco.repo.model.Repository repositoryHelper)
void
setServiceRegistry(org.alfresco.service.ServiceRegistry sr)
void
setSmartStore(org.alfresco.repo.virtual.store.VirtualStore smartStore)
protected boolean
typeMatches(org.alfresco.service.namespace.QName type, java.util.Set<org.alfresco.service.namespace.QName> expectedTypes, java.util.Set<org.alfresco.service.namespace.QName> excludedTypes)
Node
unlock(java.lang.String nodeId, Parameters parameters)
Unlock a nodeNode
updateContent(java.lang.String fileNodeId, BasicContentInfo contentInfo, java.io.InputStream stream, Parameters parameters)
Uploads file content (updates existing node with new content).void
updateCustomAspects(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.List<java.lang.String> aspectNames, java.util.List<org.alfresco.service.namespace.QName> excludedAspects)
Update aspects for the specified NodeRef.Node
updateNode(java.lang.String nodeId, Node nodeInfo, Parameters parameters)
Update node meta-data.protected org.alfresco.service.cmr.repository.NodeRef
updateNodeImpl(java.lang.String nodeId, Node nodeInfo, Parameters parameters)
Node
upload(java.lang.String parentFolderNodeId, org.springframework.extensions.webscripts.servlet.FormData formData, Parameters parameters)
Uploads file content and meta-data into the repository.void
validateAspects(java.util.List<java.lang.String> aspectNames, java.util.List<java.lang.String> excludedNS, java.util.List<org.alfresco.service.namespace.QName> excludedAspects)
org.alfresco.service.cmr.repository.NodeRef
validateNode(java.lang.String nodeId)
org.alfresco.service.cmr.repository.NodeRef
validateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
org.alfresco.service.cmr.repository.NodeRef
validateNode(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String nodeId)
org.alfresco.service.cmr.repository.NodeRef
validateOrLookupNode(java.lang.String nodeId, java.lang.String path)
void
validateProperties(java.util.Map<java.lang.String,java.lang.Object> properties, java.util.List<java.lang.String> excludedNS, java.util.List<org.alfresco.service.namespace.QName> excludedProperties)
-
-
-
Method Detail
-
setNonAttachContentTypes
public void setNonAttachContentTypes(java.util.Set<java.lang.String> nonAttachWhiteList)
-
init
public void init()
-
setServiceRegistry
public void setServiceRegistry(org.alfresco.service.ServiceRegistry sr)
-
setBehaviourFilter
public void setBehaviourFilter(org.alfresco.repo.policy.BehaviourFilter behaviourFilter)
-
setRepositoryHelper
public void setRepositoryHelper(org.alfresco.repo.model.Repository repositoryHelper)
-
setQuickShareLinks
public void setQuickShareLinks(QuickShareLinks quickShareLinks)
-
setIgnoreTypes
public void setIgnoreTypes(java.util.Set<java.lang.String> ignoreTypesAndAspects)
-
setPoster
public void setPoster(org.alfresco.service.cmr.activities.ActivityPoster poster)
-
setNodeAssocService
public void setNodeAssocService(NodeAssocService nodeAssocService)
-
setSmartStore
public void setSmartStore(org.alfresco.repo.virtual.store.VirtualStore smartStore)
-
validateNode
public org.alfresco.service.cmr.repository.NodeRef validateNode(java.lang.String nodeId)
- Specified by:
validateNode
in interfaceNodes
-
validateNode
public org.alfresco.service.cmr.repository.NodeRef validateNode(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String nodeId)
- Specified by:
validateNode
in interfaceNodes
-
validateNode
public org.alfresco.service.cmr.repository.NodeRef validateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
- Specified by:
validateNode
in interfaceNodes
-
nodeMatches
public boolean nodeMatches(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Set<org.alfresco.service.namespace.QName> expectedTypes, java.util.Set<org.alfresco.service.namespace.QName> excludedTypes)
- Specified by:
nodeMatches
in interfaceNodes
-
isSubClass
public boolean isSubClass(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName ofClassQName, boolean validateNodeRef)
Description copied from interface:Nodes
Determines whether the type of the given nodeRef is a sub-class of another class or not.- Specified by:
isSubClass
in interfaceNodes
- Parameters:
nodeRef
- source nodeRefofClassQName
- the class to test againstvalidateNodeRef
- whether to validate the given source node or not- Returns:
- true if the type of the given nodeRef is a sub-class of another class, otherwise false
-
typeMatches
protected boolean typeMatches(org.alfresco.service.namespace.QName type, java.util.Set<org.alfresco.service.namespace.QName> expectedTypes, java.util.Set<org.alfresco.service.namespace.QName> excludedTypes)
-
getNode
public Node getNode(java.lang.String nodeId)
Deprecated.review usage (backward compat')Description copied from interface:Nodes
Get the node representation for the given node.
-
getNode
public Node getNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Deprecated.review usage (backward compat')
-
getDocument
public Document getDocument(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Deprecated.note: currently required for backwards compat' (Favourites API)Description copied from interface:Nodes
Get the document representation for the given node.- Specified by:
getDocument
in interfaceNodes
- Parameters:
nodeRef
- NodeRef- Returns:
- Document
-
getFolder
public Folder getFolder(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Deprecated.note: currently required for backwards compat' (Favourites API)Description copied from interface:Nodes
Get the folder representation for the given node.
-
validateOrLookupNode
public org.alfresco.service.cmr.repository.NodeRef validateOrLookupNode(java.lang.String nodeId, java.lang.String path)
- Specified by:
validateOrLookupNode
in interfaceNodes
-
resolveNodeByPath
protected org.alfresco.service.cmr.repository.NodeRef resolveNodeByPath(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String path, boolean checkForCompanyHome)
-
getFolderOrDocument
public Node getFolderOrDocument(java.lang.String nodeId, Parameters parameters)
Description copied from interface:Nodes
Get the folder or document representation (as appropriate) for the given node.- Specified by:
getFolderOrDocument
in interfaceNodes
- Parameters:
nodeId
- String nodeId or well-known alias, eg. "-root-" or "-my-"parameters
- theParameters
object to get the parameters passed into the request including: - incPrimaryParent- Returns:
-
getFolderOrDocumentFullInfo
public Node getFolderOrDocumentFullInfo(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.namespace.QName nodeTypeQName, Parameters parameters, java.util.Map<java.lang.String,UserInfo> mapUserInfo)
- Specified by:
getFolderOrDocumentFullInfo
in interfaceNodes
-
getFolderOrDocument
public Node getFolderOrDocument(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.namespace.QName nodeTypeQName, java.util.List<java.lang.String> includeParam, java.util.Map<java.lang.String,UserInfo> mapUserInfo)
Description copied from interface:Nodes
Get the folder or document representation (as appropriate) for the given node.- Specified by:
getFolderOrDocument
in interfaceNodes
- Parameters:
nodeRef
- A real Node- Returns:
-
lookupPathInfo
public PathInfo lookupPathInfo(org.alfresco.service.cmr.repository.NodeRef nodeRefIn, org.alfresco.service.cmr.repository.ChildAssociationRef archivedParentAssoc)
Description copied from interface:Nodes
Returns the path to the given nodeRefnodeRefIn
or the archived nodeRefarchivedParentAssoc
.- Specified by:
lookupPathInfo
in interfaceNodes
- Parameters:
nodeRefIn
- the NodeRefarchivedParentAssoc
- the ChildAssociationRef of the archived NodeRef- Returns:
- the path to the given node
-
mapToNodeAspects
public java.util.Set<org.alfresco.service.namespace.QName> mapToNodeAspects(java.util.List<java.lang.String> aspectNames)
Description copied from interface:Nodes
Map from a String representation of aspect names to a set of QName objects, as used by the repository.- Specified by:
mapToNodeAspects
in interfaceNodes
- Returns:
-
mapToNodeProperties
public java.util.Map<org.alfresco.service.namespace.QName,java.io.Serializable> mapToNodeProperties(java.util.Map<java.lang.String,java.lang.Object> props)
Description copied from interface:Nodes
Map from the JSON API format of properties (String to Object) to the typical node properties map used by the repository (QName to Serializable).- Specified by:
mapToNodeProperties
in interfaceNodes
- Returns:
-
mapFromNodeProperties
public java.util.Map<java.lang.String,java.lang.Object> mapFromNodeProperties(java.util.Map<org.alfresco.service.namespace.QName,java.io.Serializable> nodeProps, java.util.List<java.lang.String> selectParam, java.util.Map<java.lang.String,UserInfo> mapUserInfo, java.util.List<java.lang.String> excludedNS, java.util.List<org.alfresco.service.namespace.QName> excludedProps)
Description copied from interface:Nodes
Convert from node properties (map of QName to Serializable) retrieved from the respository to a map of String to Object that can be formatted/expressed as required by the API JSON response for get nodes, get person etc.Returns null if there are no properties to return, rather than an empty map.
- Specified by:
mapFromNodeProperties
in interfaceNodes
- Returns:
- The map of properties, or null if none to return.
-
mapFromNodeAspects
public java.util.List<java.lang.String> mapFromNodeAspects(java.util.Set<org.alfresco.service.namespace.QName> nodeAspects, java.util.List<java.lang.String> excludedNS, java.util.List<org.alfresco.service.namespace.QName> excludedAspects)
Description copied from interface:Nodes
Map from aspects (Set of QName) retrieved from the repository to a map List of String required that can be formatted/expressed as required by the API JSON response for get nodes, get person etc.Returns null if there are no aspect names to return, rather than an empty list.
- Specified by:
mapFromNodeAspects
in interfaceNodes
- Returns:
- The list of aspect names, or null if none to return.
-
listChildren
public CollectionWithPagingInfo<Node> listChildren(java.lang.String parentFolderNodeId, Parameters parameters)
Description copied from interface:Nodes
Get list of children of a parent folder.- Specified by:
listChildren
in interfaceNodes
- Parameters:
parentFolderNodeId
- String id of parent folder node or well-known alias, eg. "-root-" or "-my-"parameters
- theParameters
object to get the parameters passed into the request including: - filter, sort & paging params (where, orderBy, skipCount, maxItems) - incFiles, incFolders (both true by default)- Returns:
- a paged list of
org.alfresco.rest.api.model.Node
objects
-
getListChildrenFilterProps
protected java.util.List<org.alfresco.repo.node.getchildren.FilterProp> getListChildrenFilterProps(Parameters parameters)
Returns a List of filter properties specified by request parameters.
- Parameters:
parameters
- TheParameters
object to get the parameters passed into the request including: - filter, sort & paging params (where, orderBy, skipCount, maxItems) - incFiles, incFolders (both true by default)- Returns:
- The list of
FilterProp
. Can be null.
-
getListChildrenSortProps
protected java.util.List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,java.lang.Boolean>> getListChildrenSortProps(Parameters parameters)
Returns a List of sort properties specified by the "sorting" request parameter.
- Parameters:
parameters
- TheParameters
object to get the parameters passed into the request including: - filter, sort & paging params (where, orderBy, skipCount, maxItems) - incFiles, incFolders (both true by default)- Returns:
- The list of
Pair<QName, Boolean>
sort properties. If no sort parameters are found defaults togetListChildrenSortPropsDefault
.
-
getListChildrenSortPropsDefault
protected java.util.List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,java.lang.Boolean>> getListChildrenSortPropsDefault()
Returns the default sort order.
- Returns:
- The list of
Pair<QName, Boolean>
sort properties.
-
buildAssocTypes
protected java.util.Set<org.alfresco.service.namespace.QName> buildAssocTypes(org.alfresco.service.namespace.QName assocTypeQName)
-
buildSearchTypesAndIgnoreAspects
protected org.alfresco.util.Pair<java.util.Set<org.alfresco.service.namespace.QName>,java.util.Set<org.alfresco.service.namespace.QName>> buildSearchTypesAndIgnoreAspects(org.alfresco.service.namespace.QName nodeTypeQName, boolean includeSubTypes, java.util.Set<org.alfresco.service.namespace.QName> ignoreQNameTypes, java.lang.Boolean includeFiles, java.lang.Boolean includeFolders)
-
buildSearchTypesAndIgnoreAspects
protected org.alfresco.util.Pair<java.util.Set<org.alfresco.service.namespace.QName>,java.util.Set<org.alfresco.service.namespace.QName>> buildSearchTypesAndIgnoreAspects(Parameters parameters)
-
deleteNode
public void deleteNode(java.lang.String nodeId, Parameters parameters)
Description copied from interface:Nodes
Delete the given node. Note: will cascade delete for a folder.- Specified by:
deleteNode
in interfaceNodes
- Parameters:
nodeId
- String id of node (folder or document)parameters
- theParameters
object to get the parameters passed into the request - permanent (default false)
-
createNode
public Node createNode(java.lang.String parentFolderNodeId, Node nodeInfo, Parameters parameters)
Description copied from interface:Nodes
Create node - folder or (empty) file.- Specified by:
createNode
in interfaceNodes
- Returns:
-
addCustomAspects
public void addCustomAspects(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.List<java.lang.String> aspectNames, java.util.List<org.alfresco.service.namespace.QName> excludedAspects)
Description copied from interface:Nodes
Add aspects to the specified NodeRef. Aspects that appear in the exclusions list will be ignored.- Specified by:
addCustomAspects
in interfaceNodes
-
addChildren
public java.util.List<AssocChild> addChildren(java.lang.String parentNodeId, java.util.List<AssocChild> entities)
- Specified by:
addChildren
in interfaceNodes
- Returns:
-
addTargets
public java.util.List<AssocTarget> addTargets(java.lang.String sourceNodeId, java.util.List<AssocTarget> entities)
- Specified by:
addTargets
in interfaceNodes
- Returns:
-
getAssocType
public org.alfresco.service.namespace.QName getAssocType(java.lang.String assocTypeQNameStr)
- Specified by:
getAssocType
in interfaceNodes
-
getAssocType
public org.alfresco.service.namespace.QName getAssocType(java.lang.String assocTypeQNameStr, boolean mandatory)
- Specified by:
getAssocType
in interfaceNodes
-
postActivity
protected void postActivity(org.alfresco.rest.api.impl.NodesImpl.Activity_Type activity_type, org.alfresco.service.cmr.activities.ActivityInfo activityInfo, boolean aSync)
Posts activities based on the activity_type. If the method is called with aSync=true then a TransactionListener is used post the activity afterCommit. Otherwise the activity posting is done synchronously.- Parameters:
activity_type
-activityInfo
-aSync
-
-
getActivityInfo
protected org.alfresco.service.cmr.activities.ActivityInfo getActivityInfo(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
determineActivityType
protected static java.lang.String determineActivityType(org.alfresco.rest.api.impl.NodesImpl.Activity_Type activity_type, boolean isFolder)
-
isSpecialNode
protected boolean isSpecialNode(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName type)
Check for special case: additional node validation (pending common lower-level service support) for blacklist of system nodes that should not be deleted or locked, eg. Company Home, Sites, Data Dictionary- Parameters:
nodeRef
-type
-- Returns:
-
updateNode
public Node updateNode(java.lang.String nodeId, Node nodeInfo, Parameters parameters)
Description copied from interface:Nodes
Update node meta-data.- Specified by:
updateNode
in interfaceNodes
- Returns:
-
updateNodeImpl
protected org.alfresco.service.cmr.repository.NodeRef updateNodeImpl(java.lang.String nodeId, Node nodeInfo, Parameters parameters)
-
processNodePermissions
protected void processNodePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, Node nodeInfo)
-
moveOrCopyNode
public Node moveOrCopyNode(java.lang.String sourceNodeId, java.lang.String targetParentId, java.lang.String name, Parameters parameters, boolean isCopy)
Description copied from interface:Nodes
Move or Copy node- Specified by:
moveOrCopyNode
in interfaceNodes
- Returns:
-
updateCustomAspects
public void updateCustomAspects(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.List<java.lang.String> aspectNames, java.util.List<org.alfresco.service.namespace.QName> excludedAspects)
Description copied from interface:Nodes
Update aspects for the specified NodeRef. An empty list will result in aspects being removed.- Specified by:
updateCustomAspects
in interfaceNodes
-
moveOrCopyImpl
protected org.alfresco.service.cmr.model.FileInfo moveOrCopyImpl(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String name, boolean isCopy)
-
getContent
public BinaryResource getContent(java.lang.String fileNodeId, Parameters parameters, boolean recordActivity)
Description copied from interface:Nodes
Download file content.- Specified by:
getContent
in interfaceNodes
recordActivity
- true, if an activity post is required.- Returns:
-
getContent
public BinaryResource getContent(org.alfresco.service.cmr.repository.NodeRef nodeRef, Parameters parameters, boolean recordActivity)
Description copied from interface:Nodes
Download file content.- Specified by:
getContent
in interfaceNodes
- Parameters:
nodeRef
- the content nodeRefrecordActivity
- true, if an activity post is required.- Returns:
-
updateContent
public Node updateContent(java.lang.String fileNodeId, BasicContentInfo contentInfo, java.io.InputStream stream, Parameters parameters)
Description copied from interface:Nodes
Uploads file content (updates existing node with new content). Note: may create a new version, depending on versioning behaviour.- Specified by:
updateContent
in interfaceNodes
- Returns:
-
createVersion
protected void createVersion(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean isVersioned, org.alfresco.service.cmr.version.VersionType versionType, java.lang.String reason)
-
upload
public Node upload(java.lang.String parentFolderNodeId, org.springframework.extensions.webscripts.servlet.FormData formData, Parameters parameters)
Description copied from interface:Nodes
Uploads file content and meta-data into the repository.- Specified by:
upload
in interfaceNodes
- Parameters:
parentFolderNodeId
- String id of parent folder node or well-known alias, eg. "-root-" or "-my-"formData
- theFormData
parameters
- theParameters
object to get the parameters passed into the request- Returns:
Node
if successful
-
createQName
public org.alfresco.service.namespace.QName createQName(java.lang.String qnameStr)
Helper to create a QName from either a fully qualified or short-name QName string- Specified by:
createQName
in interfaceNodes
- Parameters:
qnameStr
- Fully qualified or short-name QName string- Returns:
- QName
-
createQNames
protected java.util.List<org.alfresco.service.namespace.QName> createQNames(java.util.List<java.lang.String> qnameStrList, java.util.List<org.alfresco.service.namespace.QName> excludedProps)
Helper to create a QName from either a fully qualified or short-name QName string- Parameters:
qnameStrList
- list of fully qualified or short-name QName stringexcludedProps
-- Returns:
- a list of
QName
objects
-
lock
public Node lock(java.lang.String nodeId, LockInfo lockInfo, Parameters parameters)
Description copied from interface:Nodes
Lock a node
-
unlock
public Node unlock(java.lang.String nodeId, Parameters parameters)
Description copied from interface:Nodes
Unlock a node
-
validateAspects
public void validateAspects(java.util.List<java.lang.String> aspectNames, java.util.List<java.lang.String> excludedNS, java.util.List<org.alfresco.service.namespace.QName> excludedAspects)
- Specified by:
validateAspects
in interfaceNodes
-
validateProperties
public void validateProperties(java.util.Map<java.lang.String,java.lang.Object> properties, java.util.List<java.lang.String> excludedNS, java.util.List<org.alfresco.service.namespace.QName> excludedProperties)
- Specified by:
validateProperties
in interfaceNodes
-
getNodeService
protected org.alfresco.service.cmr.repository.NodeService getNodeService()
-
getDictionaryService
protected org.alfresco.service.cmr.dictionary.DictionaryService getDictionaryService()
-
getFileFolderService
protected org.alfresco.service.cmr.model.FileFolderService getFileFolderService()
-
getNamespaceService
protected org.alfresco.service.namespace.NamespaceService getNamespaceService()
-
getPermissionService
protected org.alfresco.service.cmr.security.PermissionService getPermissionService()
-
getMimetypeService
protected org.alfresco.service.cmr.repository.MimetypeService getMimetypeService()
-
getContentService
protected org.alfresco.service.cmr.repository.ContentService getContentService()
-
getActionService
protected org.alfresco.service.cmr.action.ActionService getActionService()
-
getVersionService
protected org.alfresco.service.cmr.version.VersionService getVersionService()
-
getPersonService
protected org.alfresco.service.cmr.security.PersonService getPersonService()
-
getOwnableService
protected org.alfresco.service.cmr.security.OwnableService getOwnableService()
-
getAuthorityService
protected org.alfresco.service.cmr.security.AuthorityService getAuthorityService()
-
getThumbnailService
protected org.alfresco.service.cmr.thumbnail.ThumbnailService getThumbnailService()
-
getSiteService
protected org.alfresco.service.cmr.site.SiteService getSiteService()
-
getPoster
protected org.alfresco.service.cmr.activities.ActivityPoster getPoster()
-
getRetryingTransactionHelper
protected org.alfresco.repo.transaction.RetryingTransactionHelper getRetryingTransactionHelper()
-
getNodeAssocService
protected NodeAssocService getNodeAssocService()
-
getLockService
protected org.alfresco.service.cmr.lock.LockService getLockService()
-
getSmartStore
protected org.alfresco.repo.virtual.store.VirtualStore getSmartStore()
-
getQuickShareLinks
protected QuickShareLinks getQuickShareLinks()
-
getRepositoryHelper
protected org.alfresco.repo.model.Repository getRepositoryHelper()
-
-