diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java index 4ee4692c0e..1ef80777c3 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java @@ -33,7 +33,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import org.alfresco.model.ContentModel; 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.fileplan.FilePlanService; 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.model.Node; 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.RecordNode; 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.NodeService; -import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.alfresco.util.Pair; import org.alfresco.util.ParameterCheck; @@ -82,15 +76,10 @@ public class RMNodesImpl extends NodesImpl implements RMNodes private FilePlanService filePlanService; private NodeService nodeService; private RecordsManagementServiceRegistry serviceRegistry; - private Repository repositoryHelper; private DictionaryService dictionaryService; private DispositionService dispositionService; private CapabilityService capabilityService; - /** - * TODO to remove this after isSpecialNode is made protected in core implementation(REPO-1459) - */ - private ConcurrentHashMap ddCache = new ConcurrentHashMap<>(); public void init() { super.init(); @@ -104,12 +93,6 @@ public class RMNodesImpl extends NodesImpl implements RMNodes this.serviceRegistry = serviceRegistry; } - public void setRepositoryHelper(Repository repositoryHelper) - { - super.setRepositoryHelper(repositoryHelper); - this.repositoryHelper = repositoryHelper; - } - public void setFilePlanService(FilePlanService filePlanService) { this.filePlanService = filePlanService; @@ -182,7 +165,9 @@ public class RMNodesImpl extends NodesImpl implements RMNodes 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 allowableOperations = getAllowableOperations(nodeRef, type); + node.setAllowableOperations((allowableOperations.size() > 0 )? allowableOperations : null); } return node; diff --git a/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMNodesImplUnitTest.java b/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMNodesImplUnitTest.java index 700e420b25..f3fbf7ec29 100644 --- a/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMNodesImplUnitTest.java +++ b/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMNodesImplUnitTest.java @@ -28,8 +28,8 @@ package org.alfresco.rm.rest.api.impl; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.Matchers.any; @@ -208,7 +208,7 @@ public class RMNodesImplUnitTest extends BaseUnitTest assertEquals(false, resultNode.getIsFile()); assertEquals(false, resultNode.getIsCategory()); List allowableOperations = resultNode.getAllowableOperations(); - assertEquals(0, allowableOperations.size()); + assertNull(allowableOperations); } @Test