mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged HEAD (5.2) to 5.2.N (5.2.1)
126361 jkaabimofrad: Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2) 119716 jvonka: FileFolder API - handle "select", eg. get node info, list folder children - list folder children returns minimal info, select can be used to get additional info, eg. aspectNames, properties (or specific props) - get node info returns basic info, select can be used to get additional info, eg. path - RA-634, RA-638 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@126707 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -131,6 +131,9 @@ public class NodesImpl implements Nodes
|
||||
private final static String PARAM_RELATIVE_PATH = "relativePath"; // TODO wip
|
||||
|
||||
private final static String PARAM_SELECT_PROPERTIES = "properties";
|
||||
private final static String PARAM_SELECT_PATH = "path";
|
||||
private final static String PARAM_SELECT_ASPECTNAMES = "aspectNames";
|
||||
private final static String PARAM_SELECT_ISLINK = "isLink"; // TODO ...
|
||||
|
||||
private NodeService nodeService;
|
||||
private DictionaryService dictionaryService;
|
||||
@@ -512,18 +515,24 @@ public class NodesImpl implements Nodes
|
||||
|
||||
QName typeQName = nodeService.getType(nodeRef);
|
||||
|
||||
List<String> selectParam = parameters.getSelectedProperties();
|
||||
return getFolderOrDocument(nodeRef, getParentNodeRef(nodeRef), typeQName, selectParam, false, null);
|
||||
List<String> selectParam = new ArrayList<>();
|
||||
selectParam.addAll(parameters.getSelectedProperties());
|
||||
|
||||
// Add basic info for single get (above & beyond minimal that is used for listing collections)
|
||||
selectParam.add(PARAM_SELECT_ASPECTNAMES);
|
||||
selectParam.add(PARAM_SELECT_PROPERTIES);
|
||||
|
||||
return getFolderOrDocument(nodeRef, getParentNodeRef(nodeRef), typeQName, selectParam, null);
|
||||
}
|
||||
|
||||
private Node getFolderOrDocument(final NodeRef nodeRef, NodeRef parentNodeRef, QName typeQName, List<String> selectParam, boolean minimalInfo, Map<String,UserInfo> mapUserInfo)
|
||||
private Node getFolderOrDocument(final NodeRef nodeRef, NodeRef parentNodeRef, QName typeQName, List<String> selectParam, Map<String,UserInfo> mapUserInfo)
|
||||
{
|
||||
if (mapUserInfo == null) {
|
||||
mapUserInfo = new HashMap<>(2);
|
||||
}
|
||||
|
||||
PathInfo pathInfo = null;
|
||||
if (!minimalInfo)
|
||||
if (selectParam.contains(PARAM_SELECT_PATH))
|
||||
{
|
||||
pathInfo = lookupPathInfo(nodeRef);
|
||||
}
|
||||
@@ -547,9 +556,13 @@ public class NodesImpl implements Nodes
|
||||
throw new InvalidArgumentException("Node is not a folder or file");
|
||||
}
|
||||
|
||||
if (! minimalInfo)
|
||||
if (selectParam.size() > 0)
|
||||
{
|
||||
node.setProperties(mapFromNodeProperties(properties, selectParam, mapUserInfo));
|
||||
}
|
||||
|
||||
if (selectParam.contains(PARAM_SELECT_ASPECTNAMES))
|
||||
{
|
||||
node.setAspectNames(mapFromNodeAspects(nodeService.getAspects(nodeRef)));
|
||||
}
|
||||
|
||||
@@ -746,7 +759,6 @@ public class NodesImpl implements Nodes
|
||||
final NodeRef parentNodeRef = validateOrLookupNode(parentFolderNodeId, null);
|
||||
|
||||
final List<String> selectParam = parameters.getSelectedProperties();
|
||||
final boolean minimalInfo = (selectParam.size() == 0);
|
||||
|
||||
boolean includeFolders = true;
|
||||
boolean includeFiles = true;
|
||||
@@ -816,7 +828,7 @@ public class NodesImpl implements Nodes
|
||||
FileInfo fInfo = page.get(index);
|
||||
|
||||
// minimal info by default (unless "select"ed otherwise)
|
||||
return getFolderOrDocument(fInfo.getNodeRef(), parentNodeRef, fInfo.getType(), selectParam, minimalInfo, mapUserInfo);
|
||||
return getFolderOrDocument(fInfo.getNodeRef(), parentNodeRef, fInfo.getType(), selectParam, mapUserInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1200,7 +1212,7 @@ public class NodesImpl implements Nodes
|
||||
|
||||
private Node createUploadResponse(NodeRef parentNodeRef, NodeRef newFileNodeRef)
|
||||
{
|
||||
return getFolderOrDocument(newFileNodeRef, parentNodeRef, ContentModel.TYPE_CONTENT, Collections.<String>emptyList(), true, null);
|
||||
return getFolderOrDocument(newFileNodeRef, parentNodeRef, ContentModel.TYPE_CONTENT, Collections.<String>emptyList(), null);
|
||||
}
|
||||
|
||||
private String getStringOrNull(String value)
|
||||
|
Reference in New Issue
Block a user