From b3bf912a7812d26e6629fdd31c6d18b08d2300e2 Mon Sep 17 00:00:00 2001 From: Sara Aspery Date: Mon, 20 May 2019 06:39:56 +0100 Subject: [PATCH 1/4] RM-6792 updates from review - sonar --- .../module/org_alfresco_module_rm/record/RecordServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java index caf754fcf4..4e4f9740d0 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java @@ -915,7 +915,7 @@ public class RecordServiceImpl extends BaseBehaviourBean // if optional location supplied, check that it is a valid record folder else { - QName nodeType = nodeService.getType(newRecordContainer); + final QName nodeType = nodeService.getType(newRecordContainer); if(!(nodeType.equals(RecordsManagementModel.TYPE_RECORD_FOLDER) || nodeType.equals(RecordsManagementModel.TYPE_UNFILED_RECORD_FOLDER))) { From 8aeaf9192627483299b3e280f06e03852dc23a0c Mon Sep 17 00:00:00 2001 From: Sara Aspery Date: Tue, 21 May 2019 12:39:46 +0100 Subject: [PATCH 2/4] RM-6792 review - change unfiled folder to container --- .../record/RecordServiceImpl.java | 3 ++- .../record/RecordServiceImplUnitTest.java | 12 +++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java index 4e4f9740d0..868cfbee95 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java @@ -917,7 +917,8 @@ public class RecordServiceImpl extends BaseBehaviourBean { final QName nodeType = nodeService.getType(newRecordContainer); if(!(nodeType.equals(RecordsManagementModel.TYPE_RECORD_FOLDER) || - nodeType.equals(RecordsManagementModel.TYPE_UNFILED_RECORD_FOLDER))) + nodeType.equals(RecordsManagementModel.TYPE_UNFILED_RECORD_FOLDER) || + nodeType.equals(RecordsManagementModel.TYPE_UNFILED_RECORD_CONTAINER))) { throw new AlfrescoRuntimeException("Unable to create record, because container is not a valid type for new record."); } diff --git a/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImplUnitTest.java b/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImplUnitTest.java index 5574d1a1ae..43a717d4b3 100644 --- a/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImplUnitTest.java +++ b/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImplUnitTest.java @@ -73,6 +73,7 @@ public class RecordServiceImplUnitTest extends BaseUnitTest private NodeRef nonStandardFilePlanComponent; private NodeRef nonStandardFilePlan; private NodeRef dmNodeRef; + private NodeRef unfiledRecordContainer; private NodeRef unfiledRecordFolder; private ChildAssociationRef parentAssoc; @@ -91,6 +92,7 @@ public class RecordServiceImplUnitTest extends BaseUnitTest nonStandardFilePlanComponent = generateNodeRef(TYPE_RECORD_CATEGORY); nonStandardFilePlan = generateNodeRef(TYPE_MY_FILE_PLAN); dmNodeRef = generateNodeRef(TYPE_CONTENT); + unfiledRecordContainer = generateNodeRef(TYPE_UNFILED_RECORD_CONTAINER); unfiledRecordFolder = generateNodeRef(TYPE_UNFILED_RECORD_FOLDER); parentAssoc = mock(ChildAssociationRef.class); @@ -483,12 +485,12 @@ public class RecordServiceImplUnitTest extends BaseUnitTest mocksForRecordCreation(); // create the record - recordService.createRecord(nonStandardFilePlan, dmNodeRef); + recordService.createRecord(filePlan, dmNodeRef); // verify record was created in unfiled record container verify(mockedNodeService, times(1)).moveNode( dmNodeRef, - unfiledRecordFolder, + unfiledRecordContainer, ContentModel.ASSOC_CONTAINS, parentAssoc.getQName()); } @@ -504,12 +506,12 @@ public class RecordServiceImplUnitTest extends BaseUnitTest mocksForRecordCreation(); // create the record - recordService.createRecord(filePlan, dmNodeRef, unfiledRecordFolder); + recordService.createRecord(filePlan, dmNodeRef, unfiledRecordContainer); // verify record was created in specified unfiled record container verify(mockedNodeService, times(1)).moveNode( dmNodeRef, - unfiledRecordFolder, + unfiledRecordContainer, ContentModel.ASSOC_CONTAINS, parentAssoc.getQName()); } @@ -566,7 +568,7 @@ public class RecordServiceImplUnitTest extends BaseUnitTest doNothing().when(recordService).invokeBeforeRecordDeclaration(dmNodeRef); doNothing().when(recordService).invokeOnRecordDeclaration(dmNodeRef); - when(mockedFilePlanService.getUnfiledContainer(nonStandardFilePlan)).thenReturn(unfiledRecordFolder); + when(mockedFilePlanService.getUnfiledContainer(filePlan)).thenReturn(unfiledRecordContainer); when(mockedVersionService.getVersionHistory(dmNodeRef)).thenReturn(null); } From d7f20f1a3f8bb2bd0b2176172f0bf1293d682bcd Mon Sep 17 00:00:00 2001 From: Sara Aspery Date: Tue, 21 May 2019 12:48:32 +0100 Subject: [PATCH 3/4] RM-6792 review - change unfiled folder to container --- .../org_alfresco_module_rm/record/RecordServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java index 868cfbee95..3662dfb9e9 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java @@ -905,14 +905,14 @@ public class RecordServiceImpl extends BaseBehaviourBean // if optional location not specified, use the unfiledContainer if (newRecordContainer == null) { - // get the new record container for the file plan + // get the unfiled record container node for the file plan newRecordContainer = filePlanService.getUnfiledContainer(checkedFilePlan); if (newRecordContainer == null) { throw new AlfrescoRuntimeException("Unable to create record, because record container could not be found."); } } - // if optional location supplied, check that it is a valid record folder + // if optional location supplied, check that it is a valid record folder, unfiled record container or folder else { final QName nodeType = nodeService.getType(newRecordContainer); From 3ef7ae2f820b064297bb21bebaa5746578ff106b Mon Sep 17 00:00:00 2001 From: Sara Aspery Date: Tue, 21 May 2019 13:09:22 +0100 Subject: [PATCH 4/4] RM-6832 review updates --- .../org/alfresco/rm/rest/api/files/FilesEntityResource.java | 2 +- .../src/main/webapp/definitions/gs-core-api.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/files/FilesEntityResource.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/files/FilesEntityResource.java index 3295fd3095..b63e0451db 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/files/FilesEntityResource.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/files/FilesEntityResource.java @@ -148,7 +148,7 @@ public class FilesEntityResource implements InitializingBean { // Get record folder, if provided NodeRef targetParent = null; - String targetParentId = parameters.getParameter(RMNode.PARAM_PARENT_ID); + final String targetParentId = parameters.getParameter(RMNode.PARAM_PARENT_ID); if (targetParentId != null) { targetParent = apiUtils.lookupAndValidateNodeType(targetParentId, RecordsManagementModel.TYPE_RECORD_FOLDER); diff --git a/rm-community/rm-community-rest-api-explorer/src/main/webapp/definitions/gs-core-api.yaml b/rm-community/rm-community-rest-api-explorer/src/main/webapp/definitions/gs-core-api.yaml index a25735996d..f6e3a390d4 100644 --- a/rm-community/rm-community-rest-api-explorer/src/main/webapp/definitions/gs-core-api.yaml +++ b/rm-community/rm-community-rest-api-explorer/src/main/webapp/definitions/gs-core-api.yaml @@ -1873,14 +1873,14 @@ paths: $ref: '#/definitions/RecordEntry' '400': description: | - Invalid parameter: **fileId** is not a valid format + Invalid parameter: **fileId** is not a valid format or **parentId** is not a valid format '401': description: Authentication failed '403': description: Current user does not have permission to declare a record '404': description: | - **fileId** does not exist + **fileId** does not exist or **parentId** does not exist '422': description: | Model integrity exception: the action breaks system's integrity restrictions