mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-4357 - return null when allowableOperations is empty
This commit is contained in:
@@ -33,7 +33,6 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementServiceRegistry;
|
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementServiceRegistry;
|
||||||
@@ -42,9 +41,6 @@ import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionSchedul
|
|||||||
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
|
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
import org.alfresco.repo.model.Repository;
|
|
||||||
import org.alfresco.repo.site.SiteModel;
|
|
||||||
import org.alfresco.repo.tenant.TenantUtil;
|
|
||||||
import org.alfresco.rest.api.impl.NodesImpl;
|
import org.alfresco.rest.api.impl.NodesImpl;
|
||||||
import org.alfresco.rest.api.model.Node;
|
import org.alfresco.rest.api.model.Node;
|
||||||
import org.alfresco.rest.api.model.UserInfo;
|
import org.alfresco.rest.api.model.UserInfo;
|
||||||
@@ -55,10 +51,8 @@ import org.alfresco.rm.rest.api.model.RecordCategoryNode;
|
|||||||
import org.alfresco.rm.rest.api.model.RecordFolderNode;
|
import org.alfresco.rm.rest.api.model.RecordFolderNode;
|
||||||
import org.alfresco.rm.rest.api.model.RecordNode;
|
import org.alfresco.rm.rest.api.model.RecordNode;
|
||||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.util.Pair;
|
import org.alfresco.util.Pair;
|
||||||
import org.alfresco.util.ParameterCheck;
|
import org.alfresco.util.ParameterCheck;
|
||||||
@@ -82,15 +76,10 @@ public class RMNodesImpl extends NodesImpl implements RMNodes
|
|||||||
private FilePlanService filePlanService;
|
private FilePlanService filePlanService;
|
||||||
private NodeService nodeService;
|
private NodeService nodeService;
|
||||||
private RecordsManagementServiceRegistry serviceRegistry;
|
private RecordsManagementServiceRegistry serviceRegistry;
|
||||||
private Repository repositoryHelper;
|
|
||||||
private DictionaryService dictionaryService;
|
private DictionaryService dictionaryService;
|
||||||
private DispositionService dispositionService;
|
private DispositionService dispositionService;
|
||||||
private CapabilityService capabilityService;
|
private CapabilityService capabilityService;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO to remove this after isSpecialNode is made protected in core implementation(REPO-1459)
|
|
||||||
*/
|
|
||||||
private ConcurrentHashMap<String,NodeRef> ddCache = new ConcurrentHashMap<>();
|
|
||||||
public void init()
|
public void init()
|
||||||
{
|
{
|
||||||
super.init();
|
super.init();
|
||||||
@@ -104,12 +93,6 @@ public class RMNodesImpl extends NodesImpl implements RMNodes
|
|||||||
this.serviceRegistry = serviceRegistry;
|
this.serviceRegistry = serviceRegistry;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRepositoryHelper(Repository repositoryHelper)
|
|
||||||
{
|
|
||||||
super.setRepositoryHelper(repositoryHelper);
|
|
||||||
this.repositoryHelper = repositoryHelper;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFilePlanService(FilePlanService filePlanService)
|
public void setFilePlanService(FilePlanService filePlanService)
|
||||||
{
|
{
|
||||||
this.filePlanService = filePlanService;
|
this.filePlanService = filePlanService;
|
||||||
@@ -182,7 +165,9 @@ public class RMNodesImpl extends NodesImpl implements RMNodes
|
|||||||
|
|
||||||
if (includeParam.contains(PARAM_INCLUDE_ALLOWABLEOPERATIONS))
|
if (includeParam.contains(PARAM_INCLUDE_ALLOWABLEOPERATIONS))
|
||||||
{
|
{
|
||||||
node.setAllowableOperations(getAllowableOperations(nodeRef, type));
|
// If the user does not have any of the mapped permissions then "allowableOperations" is not returned (rather than an empty array)
|
||||||
|
List<String> allowableOperations = getAllowableOperations(nodeRef, type);
|
||||||
|
node.setAllowableOperations((allowableOperations.size() > 0 )? allowableOperations : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
|
@@ -28,8 +28,8 @@
|
|||||||
package org.alfresco.rm.rest.api.impl;
|
package org.alfresco.rm.rest.api.impl;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
@@ -208,7 +208,7 @@ public class RMNodesImplUnitTest extends BaseUnitTest
|
|||||||
assertEquals(false, resultNode.getIsFile());
|
assertEquals(false, resultNode.getIsFile());
|
||||||
assertEquals(false, resultNode.getIsCategory());
|
assertEquals(false, resultNode.getIsCategory());
|
||||||
List<String> allowableOperations = resultNode.getAllowableOperations();
|
List<String> allowableOperations = resultNode.getAllowableOperations();
|
||||||
assertEquals(0, allowableOperations.size());
|
assertNull(allowableOperations);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user