RM-4357 - return null when allowableOperations is empty

This commit is contained in:
Ana Bozianu
2016-11-17 14:50:17 +02:00
parent 888684e519
commit a15ff96e25
2 changed files with 5 additions and 20 deletions

View File

@@ -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;

View File

@@ -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