diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml index 9c37e9482f..34da746fb3 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml @@ -93,8 +93,7 @@ - - + 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 b581ff89b2..81e839c120 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 @@ -61,7 +61,6 @@ import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.model.FileFolderService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; -import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.service.namespace.QName; import org.alfresco.util.Pair; import org.alfresco.util.ParameterCheck; @@ -278,11 +277,6 @@ public class RMNodesImpl extends NodesImpl implements RMNodes } } - if(!filePlanService.isFilePlanComponent(new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, nodeId))) - { - throw new InvalidParameterException("The provided node is not a fileplan component"); - } - return super.validateNode(nodeId); } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RecordsImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RecordsImpl.java index 5bc3500ab9..2938feee94 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RecordsImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RecordsImpl.java @@ -36,7 +36,6 @@ import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.util.AuthenticationUtil; import org.alfresco.repo.node.integrity.IntegrityException; import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; -import org.alfresco.rest.api.Nodes; import org.alfresco.rest.api.model.Node; import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException; import org.alfresco.rest.framework.resource.parameters.Parameters; @@ -68,8 +67,7 @@ public class RecordsImpl implements Records, InitializingBean protected FileFolderService fileFolderService; protected DictionaryService dictionaryService; protected AuthenticationUtil authenticationUtil; - protected RMNodes rmNodes; - protected Nodes nodes; + protected RMNodes nodes; public void setRecordService(RecordService recordService) { @@ -101,12 +99,7 @@ public class RecordsImpl implements Records, InitializingBean this.authenticationUtil = authenticationUtil; } - public void setRmNodes(RMNodes rmNodes) - { - this.rmNodes = rmNodes; - } - - public void setNodes(Nodes nodes) + public void setNodes(RMNodes nodes) { this.nodes = nodes; } @@ -115,7 +108,6 @@ public class RecordsImpl implements Records, InitializingBean public Node declareFileAsRecord(String fileId, Parameters parameters) { // Get file to be declared - // Use nodes instead of rmNodes because the file is not a record yet NodeRef fileNodeRef = nodes.validateNode(fileId) ; // Get fileplan @@ -135,7 +127,7 @@ public class RecordsImpl implements Records, InitializingBean recordService.createRecord(filePlan, fileNodeRef, !hideRecord); // Get information about the new record - return rmNodes.getFolderOrDocument(fileId, parameters); + return nodes.getFolderOrDocument(fileId, parameters); } @Override @@ -147,7 +139,7 @@ public class RecordsImpl implements Records, InitializingBean } // Get record - NodeRef record = rmNodes.validateNode(recordId); + NodeRef record = nodes.validateNode(recordId); // Get record folder to file/link the record to String parentContainerId = target.getTargetParentId(); @@ -163,7 +155,7 @@ public class RecordsImpl implements Records, InitializingBean } }); } - NodeRef parentRecordFolder = rmNodes.getOrCreatePath(parentContainerId, target.getRelativePath(), ContentModel.TYPE_CONTENT); + NodeRef parentRecordFolder = nodes.getOrCreatePath(parentContainerId, target.getRelativePath(), ContentModel.TYPE_CONTENT); // Check if the target is a record folder if(!dictionaryService.isSubClass(nodeService.getType(parentRecordFolder), RecordsManagementModel.TYPE_RECORD_FOLDER)) @@ -194,7 +186,7 @@ public class RecordsImpl implements Records, InitializingBean } // Get the record info - return rmNodes.getFolderOrDocument(recordId, parameters); + return nodes.getFolderOrDocument(recordId, parameters); } @Override @@ -202,7 +194,7 @@ public class RecordsImpl implements Records, InitializingBean { ParameterCheck.mandatory("recordService", recordService); ParameterCheck.mandatory("filePlanService", filePlanService); - ParameterCheck.mandatory("nodes", rmNodes); + ParameterCheck.mandatory("nodes", nodes); ParameterCheck.mandatory("nodeService", nodeService); ParameterCheck.mandatory("fileFolderService", fileFolderService); ParameterCheck.mandatory("dictionaryService", dictionaryService); diff --git a/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMNodesImplRelativePathUnitTest.java b/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMNodesImplRelativePathUnitTest.java index 796242aa56..0a0db60ae7 100644 --- a/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMNodesImplRelativePathUnitTest.java +++ b/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMNodesImplRelativePathUnitTest.java @@ -85,7 +85,6 @@ public class RMNodesImplRelativePathUnitTest extends BaseUnitTest * Given any parent node */ NodeRef parentNode = AlfMock.generateNodeRef(mockedNodeService); - when(mockedFilePlanService.isFilePlanComponent(parentNode)).thenReturn(true); /* * When trying to create a node in the parent node with no relative path @@ -113,7 +112,6 @@ public class RMNodesImplRelativePathUnitTest extends BaseUnitTest * Given a parent node and an existing path c1/f1 under it */ NodeRef parentNode = AlfMock.generateNodeRef(mockedNodeService); - when(mockedFilePlanService.isFilePlanComponent(parentNode)).thenReturn(true); String category = "c1"; NodeRef categoryNode = AlfMock.generateNodeRef(mockedNodeService); @@ -156,7 +154,6 @@ public class RMNodesImplRelativePathUnitTest extends BaseUnitTest String category1 = "c1"; NodeRef categoryNode1 = AlfMock.generateNodeRef(mockedNodeService); when(mockedNodeService.getChildByName(fileplanNodeRef, ContentModel.ASSOC_CONTAINS, category1)).thenReturn(categoryNode1); - when(mockedFilePlanService.isFilePlanComponent(fileplanNodeRef)).thenReturn(true); // create c2 String category2 = "c2"; @@ -203,7 +200,6 @@ public class RMNodesImplRelativePathUnitTest extends BaseUnitTest */ NodeRef unfiledRecordContainer = AlfMock.generateNodeRef(mockedNodeService); when(mockedNodeService.getType(unfiledRecordContainer)).thenReturn(TYPE_UNFILED_RECORD_CONTAINER); - when(mockedFilePlanService.isFilePlanComponent(unfiledRecordContainer)).thenReturn(true); /* * When trying to create a content node in the relative path f1/f2/f3 @@ -259,7 +255,6 @@ public class RMNodesImplRelativePathUnitTest extends BaseUnitTest */ NodeRef fileplanNodeRef = AlfMock.generateNodeRef(mockedNodeService); when(mockedNodeService.getType(fileplanNodeRef)).thenReturn(TYPE_FILE_PLAN); - when(mockedFilePlanService.isFilePlanComponent(fileplanNodeRef)).thenReturn(true); /* * When trying to create a folder node in the relative path c1/c2/c3 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 ddd5db3af7..e174775483 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 @@ -318,9 +318,10 @@ public class RMNodesImplUnitTest extends BaseUnitTest setupCompanyHomeAndPrimaryParent(nodeRef); when(mockedFilePlanService.isFilePlanComponent(nodeRef)).thenReturn(false); + List includeParamList = new ArrayList(); try { - rmNodesImpl.validateNode(nodeRef.getId()); + rmNodesImpl.getFolderOrDocument(nodeRef, null, null, includeParamList, null); fail("Expected exception since the requested node is not a fileplan component."); } catch(InvalidParameterException ex) @@ -627,7 +628,6 @@ public class RMNodesImplUnitTest extends BaseUnitTest public void testValidateNode() throws Exception { NodeRef nodeRef = AlfMock.generateNodeRef(mockedNodeService); - when(mockedFilePlanService.isFilePlanComponent(nodeRef)).thenReturn(true); NodeRef validateOrLookupNode = rmNodesImpl.validateNode(nodeRef.getId()); assertEquals(nodeRef, validateOrLookupNode); } diff --git a/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RecordsImplUnitTest.java b/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RecordsImplUnitTest.java index e3c57b407a..c10b272441 100644 --- a/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RecordsImplUnitTest.java +++ b/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RecordsImplUnitTest.java @@ -40,7 +40,6 @@ import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock; import org.alfresco.module.org_alfresco_module_rm.test.util.MockAuthenticationUtilHelper; import org.alfresco.module.org_alfresco_module_rm.util.AuthenticationUtil; -import org.alfresco.rest.api.Nodes; import org.alfresco.rest.framework.resource.parameters.Parameters; import org.alfresco.rm.rest.api.RMNodes; import org.alfresco.rm.rest.api.Records; @@ -78,9 +77,7 @@ public class RecordsImplUnitTest @Mock protected AuthenticationUtil mockedAuthenticationUtil; @Mock - protected RMNodes mockedRMNodes; - @Mock - protected Nodes mockedNodes; + protected RMNodes mockedNodes; @InjectMocks private RecordsImpl recordsImpl; @@ -122,7 +119,7 @@ public class RecordsImplUnitTest * Then a record is created under the existing fileplan from the provided file */ verify(mockedRecordService).createRecord(fileplan, mockedFile, false); - verify(mockedRMNodes).getFolderOrDocument(mockedFile.getId(), params); + verify(mockedNodes).getFolderOrDocument(mockedFile.getId(), params); } /** @@ -137,7 +134,7 @@ public class RecordsImplUnitTest * Given a record */ NodeRef mockedRecord = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); + when(mockedNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); /* * When trying to filing a record providing a blank destination path @@ -160,7 +157,7 @@ public class RecordsImplUnitTest */ // mock the record to file NodeRef mockedRecord = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); + when(mockedNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); // mock the current primary parent NodeRef mockedPrimaryParent = AlfMock.generateNodeRef(mockedNodeService); @@ -172,7 +169,7 @@ public class RecordsImplUnitTest // mock the target record folder to file the record into NodeRef mockedTargetRecordFolder = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.getOrCreatePath(mockedTargetRecordFolder.getId(), null, TYPE_CONTENT)).thenReturn(mockedTargetRecordFolder); + when(mockedNodes.getOrCreatePath(mockedTargetRecordFolder.getId(), null, TYPE_CONTENT)).thenReturn(mockedTargetRecordFolder); when(mockedNodeService.getType(mockedTargetRecordFolder)).thenReturn(TYPE_RECORD_FOLDER); when(mockedDictionaryService.isSubClass(TYPE_RECORD_FOLDER, TYPE_RECORD_FOLDER)).thenReturn(true); @@ -188,7 +185,7 @@ public class RecordsImplUnitTest /* * Then the record is moved under the destination folder */ - verify(mockedRMNodes).getOrCreatePath(mockedTargetRecordFolder.getId(), null, TYPE_CONTENT); + verify(mockedNodes).getOrCreatePath(mockedTargetRecordFolder.getId(), null, TYPE_CONTENT); verify(mockedFileFolderService).moveFrom(mockedRecord, mockedPrimaryParent, mockedTargetRecordFolder, null); } @@ -206,7 +203,7 @@ public class RecordsImplUnitTest */ // mock the record to file NodeRef mockedRecord = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); + when(mockedNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); // mock the current primary parent NodeRef mockedPrimaryParent = AlfMock.generateNodeRef(mockedNodeService); @@ -223,7 +220,7 @@ public class RecordsImplUnitTest // mock the target record folder to file the record into String relativePath = "category/recordFolder"; NodeRef mockedTargetRecordFolder = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.getOrCreatePath(fileplan.getId(), relativePath, TYPE_CONTENT)).thenReturn(mockedTargetRecordFolder); + when(mockedNodes.getOrCreatePath(fileplan.getId(), relativePath, TYPE_CONTENT)).thenReturn(mockedTargetRecordFolder); when(mockedNodeService.getType(mockedTargetRecordFolder)).thenReturn(TYPE_RECORD_FOLDER); when(mockedDictionaryService.isSubClass(TYPE_RECORD_FOLDER, TYPE_RECORD_FOLDER)).thenReturn(true); @@ -239,7 +236,7 @@ public class RecordsImplUnitTest /* * Then the record is moved under the destination folder relative to the fileplan */ - verify(mockedRMNodes).getOrCreatePath(fileplan.getId(), relativePath, TYPE_CONTENT); + verify(mockedNodes).getOrCreatePath(fileplan.getId(), relativePath, TYPE_CONTENT); verify(mockedFileFolderService).moveFrom(mockedRecord, mockedPrimaryParent, mockedTargetRecordFolder, null); } @@ -257,7 +254,7 @@ public class RecordsImplUnitTest */ // mock the record to file NodeRef mockedRecord = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); + when(mockedNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); // mock the current primary parent NodeRef mockedPrimaryParent = AlfMock.generateNodeRef(mockedNodeService); @@ -273,7 +270,7 @@ public class RecordsImplUnitTest // mock the target record folder to file the record into String relativePath = "category/recordFolder"; NodeRef mockedTargetRecordFolder = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.getOrCreatePath(mockedTargetCategory.getId(), relativePath, TYPE_CONTENT)).thenReturn(mockedTargetRecordFolder); + when(mockedNodes.getOrCreatePath(mockedTargetCategory.getId(), relativePath, TYPE_CONTENT)).thenReturn(mockedTargetRecordFolder); when(mockedNodeService.getType(mockedTargetRecordFolder)).thenReturn(TYPE_RECORD_FOLDER); when(mockedDictionaryService.isSubClass(TYPE_RECORD_FOLDER, TYPE_RECORD_FOLDER)).thenReturn(true); @@ -290,7 +287,7 @@ public class RecordsImplUnitTest /* * Then the record is moved under the correct destination folder */ - verify(mockedRMNodes).getOrCreatePath(mockedTargetCategory.getId(), relativePath, TYPE_CONTENT); + verify(mockedNodes).getOrCreatePath(mockedTargetCategory.getId(), relativePath, TYPE_CONTENT); verify(mockedFileFolderService).moveFrom(mockedRecord, mockedPrimaryParent, mockedTargetRecordFolder, null); } @@ -307,7 +304,7 @@ public class RecordsImplUnitTest */ // mock the record to link NodeRef mockedRecord = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); + when(mockedNodes.validateNode(mockedRecord.getId())).thenReturn(mockedRecord); // mock the current primary parent NodeRef mockedPrimaryParent = AlfMock.generateNodeRef(mockedNodeService); @@ -319,7 +316,7 @@ public class RecordsImplUnitTest // mock the target record folder to file the record into NodeRef mockedTargetRecordFolder = AlfMock.generateNodeRef(mockedNodeService); - when(mockedRMNodes.getOrCreatePath(mockedTargetRecordFolder.getId(), null, TYPE_CONTENT)).thenReturn(mockedTargetRecordFolder); + when(mockedNodes.getOrCreatePath(mockedTargetRecordFolder.getId(), null, TYPE_CONTENT)).thenReturn(mockedTargetRecordFolder); when(mockedNodeService.getType(mockedTargetRecordFolder)).thenReturn(TYPE_RECORD_FOLDER); /* @@ -334,7 +331,7 @@ public class RecordsImplUnitTest /* * Then the record is linked to the destination folder */ - verify(mockedRMNodes).getOrCreatePath(mockedTargetRecordFolder.getId(), null, TYPE_CONTENT); + verify(mockedNodes).getOrCreatePath(mockedTargetRecordFolder.getId(), null, TYPE_CONTENT); verify(mockedRecordService).link(mockedRecord, mockedTargetRecordFolder); } }