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_QNAMEstatic 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_DEFINITION, 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)voidaddCustomAspects(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)NodecreateNode(java.lang.String parentFolderNodeId, Node nodeInfo, Parameters parameters)Create node - folder or (empty) file.org.alfresco.service.namespace.QNamecreateQName(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 voidcreateVersion(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean isVersioned, org.alfresco.service.cmr.version.VersionType versionType, java.lang.String reason)voiddeleteNode(java.lang.String nodeId, Parameters parameters)Delete the given node.protected static java.lang.StringdetermineActivityType(org.alfresco.rest.api.impl.NodesImpl.Activity_Type activity_type, boolean isFolder)protected org.alfresco.service.cmr.action.ActionServicegetActionService()protected org.alfresco.service.cmr.activities.ActivityInfogetActivityInfo(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.cmr.repository.NodeRef nodeRef)org.alfresco.service.namespace.QNamegetAssocType(java.lang.String assocTypeQNameStr)org.alfresco.service.namespace.QNamegetAssocType(java.lang.String assocTypeQNameStr, boolean mandatory)protected org.alfresco.service.cmr.security.AuthorityServicegetAuthorityService()BinaryResourcegetContent(java.lang.String fileNodeId, Parameters parameters, boolean recordActivity)Download file content.BinaryResourcegetContent(org.alfresco.service.cmr.repository.NodeRef nodeRef, Parameters parameters, boolean recordActivity)Download file content.protected org.alfresco.service.cmr.repository.ContentServicegetContentService()protected org.alfresco.service.cmr.dictionary.DictionaryServicegetDictionaryService()DocumentgetDocument(org.alfresco.service.cmr.repository.NodeRef nodeRef)Deprecated.note: currently required for backwards compat' (Favourites API)protected org.alfresco.service.cmr.model.FileFolderServicegetFileFolderService()FoldergetFolder(org.alfresco.service.cmr.repository.NodeRef nodeRef)Deprecated.note: currently required for backwards compat' (Favourites API)NodegetFolderOrDocument(java.lang.String nodeId, Parameters parameters)Get the folder or document representation (as appropriate) for the given node.NodegetFolderOrDocument(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.NodegetFolderOrDocumentFullInfo(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.LockServicegetLockService()protected org.alfresco.service.cmr.repository.MimetypeServicegetMimetypeService()protected org.alfresco.service.namespace.NamespaceServicegetNamespaceService()NodegetNode(java.lang.String nodeId)Deprecated.review usage (backward compat')NodegetNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)Deprecated.review usage (backward compat')protected org.alfresco.service.cmr.repository.NodeServicegetNodeService()protected org.alfresco.service.cmr.security.OwnableServicegetOwnableService()protected org.alfresco.service.cmr.security.PermissionServicegetPermissionService()protected org.alfresco.service.cmr.security.PersonServicegetPersonService()protected org.alfresco.service.cmr.activities.ActivityPostergetPoster()protected QuickShareLinksgetQuickShareLinks()protected org.alfresco.repo.model.RepositorygetRepositoryHelper()protected org.alfresco.repo.transaction.RetryingTransactionHelpergetRetryingTransactionHelper()protected org.alfresco.service.cmr.site.SiteServicegetSiteService()protected org.alfresco.repo.virtual.store.VirtualStoregetSmartStore()protected org.alfresco.service.cmr.thumbnail.ThumbnailServicegetThumbnailService()Deprecated.protected org.alfresco.service.cmr.version.VersionServicegetVersionService()voidinit()protected booleanisSpecialNode(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.booleanisSubClass(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.Nodelock(java.lang.String nodeId, LockInfo lockInfo, Parameters parameters)Lock a nodePathInfolookupPathInfo(org.alfresco.service.cmr.repository.NodeRef nodeRefIn, org.alfresco.service.cmr.repository.ChildAssociationRef archivedParentAssoc)Returns the path to the given nodeRefnodeRefInor 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.FileInfomoveOrCopyImpl(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String name, boolean isCopy)NodemoveOrCopyNode(java.lang.String sourceNodeId, java.lang.String targetParentId, java.lang.String name, Parameters parameters, boolean isCopy)Move or Copy nodebooleannodeMatches(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 voidpostActivity(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 voidprocessNodePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, Node nodeInfo)org.alfresco.service.cmr.repository.DirectAccessUrlrequestContentUrl(java.lang.String nodeId, DirectAccessUrlRequest nodeDirectAccess)org.alfresco.service.cmr.repository.DirectAccessUrlrequestContentUrl(org.alfresco.service.cmr.repository.NodeRef nodeRef, DirectAccessUrlRequest directAccessUrlRequest)protected org.alfresco.service.cmr.repository.NodeRefresolveNodeByPath(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String path, boolean checkForCompanyHome)voidsetBehaviourFilter(org.alfresco.repo.policy.BehaviourFilter behaviourFilter)voidsetIgnoreTypes(java.util.Set<java.lang.String> ignoreTypesAndAspects)voidsetNodeDefinitionMapper(NodeDefinitionMapper nodeDefinitionMapper)voidsetNonAttachContentTypes(java.util.Set<java.lang.String> nonAttachWhiteList)voidsetPoster(org.alfresco.service.cmr.activities.ActivityPoster poster)voidsetQuickShareLinks(QuickShareLinks quickShareLinks)voidsetRepositoryHelper(org.alfresco.repo.model.Repository repositoryHelper)voidsetServiceRegistry(org.alfresco.service.ServiceRegistry sr)voidsetSmartStore(org.alfresco.repo.virtual.store.VirtualStore smartStore)protected booleantypeMatches(org.alfresco.service.namespace.QName type, java.util.Set<org.alfresco.service.namespace.QName> expectedTypes, java.util.Set<org.alfresco.service.namespace.QName> excludedTypes)Nodeunlock(java.lang.String nodeId, Parameters parameters)Unlock a nodeNodeupdateContent(java.lang.String fileNodeId, BasicContentInfo contentInfo, java.io.InputStream stream, Parameters parameters)Uploads file content (updates existing node with new content).voidupdateCustomAspects(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.NodeupdateNode(java.lang.String nodeId, Node nodeInfo, Parameters parameters)Update node meta-data.protected org.alfresco.service.cmr.repository.NodeRefupdateNodeImpl(java.lang.String nodeId, Node nodeInfo, Parameters parameters)Nodeupload(java.lang.String parentFolderNodeId, org.springframework.extensions.webscripts.servlet.FormData formData, Parameters parameters)Uploads file content and meta-data into the repository.voidvalidateAspects(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.NodeRefvalidateNode(java.lang.String nodeId)org.alfresco.service.cmr.repository.NodeRefvalidateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)org.alfresco.service.cmr.repository.NodeRefvalidateNode(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String nodeId)org.alfresco.service.cmr.repository.NodeRefvalidateOrLookupNode(java.lang.String nodeId, java.lang.String path)voidvalidateProperties(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)
-
setSmartStore
public void setSmartStore(org.alfresco.repo.virtual.store.VirtualStore smartStore)
-
setNodeDefinitionMapper
public void setNodeDefinitionMapper(NodeDefinitionMapper nodeDefinitionMapper)
-
validateNode
public org.alfresco.service.cmr.repository.NodeRef validateNode(java.lang.String nodeId)
- Specified by:
validateNodein interfaceNodes
-
validateNode
public org.alfresco.service.cmr.repository.NodeRef validateNode(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String nodeId)- Specified by:
validateNodein interfaceNodes
-
validateNode
public org.alfresco.service.cmr.repository.NodeRef validateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
- Specified by:
validateNodein 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:
nodeMatchesin interfaceNodes
-
isSubClass
public boolean isSubClass(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName ofClassQName, boolean validateNodeRef)Description copied from interface:NodesDetermines whether the type of the given nodeRef is a sub-class of another class or not.- Specified by:
isSubClassin 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:NodesGet 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:NodesGet the document representation for the given node.- Specified by:
getDocumentin 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:NodesGet 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:
validateOrLookupNodein 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:NodesGet the folder or document representation (as appropriate) for the given node.- Specified by:
getFolderOrDocumentin interfaceNodes- Parameters:
nodeId- String nodeId or well-known alias, eg. "-root-" or "-my-"parameters- theParametersobject 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:
getFolderOrDocumentFullInfoin 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:NodesGet the folder or document representation (as appropriate) for the given node.- Specified by:
getFolderOrDocumentin 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:NodesReturns the path to the given nodeRefnodeRefInor the archived nodeRefarchivedParentAssoc.- Specified by:
lookupPathInfoin 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:NodesMap from a String representation of aspect names to a set of QName objects, as used by the repository.- Specified by:
mapToNodeAspectsin 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:NodesMap 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:
mapToNodePropertiesin 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:NodesConvert 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:
mapFromNodePropertiesin 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:NodesMap 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:
mapFromNodeAspectsin 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:NodesGet list of children of a parent folder.- Specified by:
listChildrenin interfaceNodes- Parameters:
parentFolderNodeId- String id of parent folder node or well-known alias, eg. "-root-" or "-my-"parameters- theParametersobject 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.Nodeobjects
-
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- TheParametersobject 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- TheParametersobject 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:NodesDelete the given node. Note: will cascade delete for a folder.- Specified by:
deleteNodein interfaceNodes- Parameters:
nodeId- String id of node (folder or document)parameters- theParametersobject 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:NodesCreate node - folder or (empty) file.- Specified by:
createNodein 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:NodesAdd aspects to the specified NodeRef. Aspects that appear in the exclusions list will be ignored.- Specified by:
addCustomAspectsin interfaceNodes
-
addChildren
public java.util.List<AssocChild> addChildren(java.lang.String parentNodeId, java.util.List<AssocChild> entities)
- Specified by:
addChildrenin interfaceNodes- Returns:
-
addTargets
public java.util.List<AssocTarget> addTargets(java.lang.String sourceNodeId, java.util.List<AssocTarget> entities)
- Specified by:
addTargetsin interfaceNodes- Returns:
-
getAssocType
public org.alfresco.service.namespace.QName getAssocType(java.lang.String assocTypeQNameStr)
- Specified by:
getAssocTypein interfaceNodes
-
getAssocType
public org.alfresco.service.namespace.QName getAssocType(java.lang.String assocTypeQNameStr, boolean mandatory)- Specified by:
getAssocTypein 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:NodesUpdate node meta-data.- Specified by:
updateNodein 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:NodesMove or Copy node- Specified by:
moveOrCopyNodein 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:NodesUpdate aspects for the specified NodeRef. An empty list will result in aspects being removed.- Specified by:
updateCustomAspectsin 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:NodesDownload file content.- Specified by:
getContentin interfaceNodesrecordActivity- 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:NodesDownload file content.- Specified by:
getContentin 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:NodesUploads file content (updates existing node with new content). Note: may create a new version, depending on versioning behaviour.- Specified by:
updateContentin 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:NodesUploads file content and meta-data into the repository.- Specified by:
uploadin interfaceNodes- Parameters:
parentFolderNodeId- String id of parent folder node or well-known alias, eg. "-root-" or "-my-"formData- theFormDataparameters- theParametersobject to get the parameters passed into the request- Returns:
Nodeif 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:
createQNamein 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
QNameobjects
-
lock
public Node lock(java.lang.String nodeId, LockInfo lockInfo, Parameters parameters)
Description copied from interface:NodesLock a node
-
unlock
public Node unlock(java.lang.String nodeId, Parameters parameters)
Description copied from interface:NodesUnlock a node
-
requestContentUrl
public org.alfresco.service.cmr.repository.DirectAccessUrl requestContentUrl(java.lang.String nodeId, DirectAccessUrlRequest nodeDirectAccess)- Specified by:
requestContentUrlin interfaceNodes
-
requestContentUrl
public org.alfresco.service.cmr.repository.DirectAccessUrl requestContentUrl(org.alfresco.service.cmr.repository.NodeRef nodeRef, DirectAccessUrlRequest directAccessUrlRequest)- Specified by:
requestContentUrlin interfaceNodes
-
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:
validateAspectsin 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:
validatePropertiesin 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
@Deprecated protected org.alfresco.service.cmr.thumbnail.ThumbnailService getThumbnailService()
Deprecated.
-
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()
-
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()
-
-