mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-21 18:09:20 +00:00
Merged BRANCHES/V3.4 to HEAD:
23345: Merged BRANCHES/DEV/DC33E to BRANCHES/V3.4: 23305: Resolve ALF-5324: SDK is missing alfresco-share-3.4.a.jar 23306: Resolve ALF-5321: Jar generated in SDK example "CustomAspect" is not correct. 23307: Resolve ALF-5294: Internal Target throws an exception when try to edit it 23308: Resolve ALF-5332: Exception in SDK CustomAspect 23309: Resolve ALF-5162: CMIS Web Services: getTypeDescendants() returns a flat list, not a tree 23326: Resolve ALF-5039: Change events for documents creation are not returned 23356: Fix to continuous.xml 23482: Resolve ALF-5438: Required flag is wrong for most CMIS spec defined property definitions 23488: Resolve ALF-5439: Updatability of cmis:contentStreamFileName must be read-only 23501: Resolve ALF-5440: Some property definitions don't have descriptions 23502: Resolve ALF-5534: Subtypes of F:cm:systemfolder should not be creatable CMIS fixes for cmis.alfresco.com. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@23532 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -634,7 +634,6 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re
|
||||
{
|
||||
throw ExceptionUtil.createCmisException("Invalid depth '0'", EnumServiceException.INVALID_ARGUMENT);
|
||||
}
|
||||
List<CmisTypeContainer> result = new LinkedList<CmisTypeContainer>();
|
||||
CMISTypeDefinition typeDef;
|
||||
try
|
||||
{
|
||||
@@ -644,6 +643,7 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re
|
||||
{
|
||||
throw ExceptionUtil.createCmisException(e);
|
||||
}
|
||||
List<CmisTypeContainer> result = new LinkedList<CmisTypeContainer>();
|
||||
getTypeDescendants(typeDef, result, includePropertyDefinitions != null && includePropertyDefinitions, 1, depthLong);
|
||||
return result;
|
||||
}
|
||||
@@ -651,15 +651,14 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re
|
||||
private void getTypeDescendants(CMISTypeDefinition parent, List<CmisTypeContainer> result, boolean includePropertyDefs, long depth, long maxDepth) throws CmisException
|
||||
{
|
||||
Collection<CMISTypeDefinition> subtypes = parent == null ? cmisService.getBaseTypes() : parent.getSubTypes(false);
|
||||
for (CMISTypeDefinition typeDef : subtypes)
|
||||
for (CMISTypeDefinition subtype : subtypes)
|
||||
{
|
||||
result.add(createTypeContainer(typeDef, includePropertyDefs));
|
||||
}
|
||||
if (maxDepth == -1 || depth + 1 <= maxDepth)
|
||||
{
|
||||
for (CMISTypeDefinition typeDef : subtypes)
|
||||
CmisTypeContainer type = createTypeContainer(subtype, includePropertyDefs);
|
||||
result.add(type);
|
||||
if (maxDepth == -1 || depth < maxDepth)
|
||||
{
|
||||
getTypeDescendants(typeDef, result, includePropertyDefs, depth + 1, maxDepth);
|
||||
List<CmisTypeContainer> children = type.getChildren();
|
||||
getTypeDescendants(subtype, children, includePropertyDefs, depth + 1, maxDepth);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user