mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Merge remote-tracking branch 'remotes/origin/release/V2.7' into merge-3.0/RM-6786_FileCan'tBeDeclaredAsRecord
This commit is contained in:
@@ -28,6 +28,7 @@ package org.alfresco.rest.rm.community.files;
|
|||||||
|
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentAlias.UNFILED_RECORDS_CONTAINER_ALIAS;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentAlias.UNFILED_RECORDS_CONTAINER_ALIAS;
|
||||||
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentType.NON_ELECTRONIC_RECORD_TYPE;
|
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentType.NON_ELECTRONIC_RECORD_TYPE;
|
||||||
|
import static org.alfresco.utility.report.log.Step.STEP;
|
||||||
import static org.springframework.http.HttpStatus.CREATED;
|
import static org.springframework.http.HttpStatus.CREATED;
|
||||||
import static org.springframework.http.HttpStatus.FORBIDDEN;
|
import static org.springframework.http.HttpStatus.FORBIDDEN;
|
||||||
import static org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY;
|
import static org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY;
|
||||||
@@ -45,6 +46,7 @@ import org.alfresco.rest.rm.community.model.record.Record;
|
|||||||
import org.alfresco.rest.rm.community.model.record.RecordProperties;
|
import org.alfresco.rest.rm.community.model.record.RecordProperties;
|
||||||
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildEntry;
|
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildEntry;
|
||||||
import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI;
|
import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI;
|
||||||
|
import org.alfresco.rest.v0.RecordsAPI;
|
||||||
import org.alfresco.test.AlfrescoTest;
|
import org.alfresco.test.AlfrescoTest;
|
||||||
import org.alfresco.utility.constants.UserRole;
|
import org.alfresco.utility.constants.UserRole;
|
||||||
import org.alfresco.utility.model.FileModel;
|
import org.alfresco.utility.model.FileModel;
|
||||||
@@ -54,6 +56,7 @@ import org.alfresco.utility.model.UserModel;
|
|||||||
import org.apache.chemistry.opencmis.client.api.Document;
|
import org.apache.chemistry.opencmis.client.api.Document;
|
||||||
import org.apache.chemistry.opencmis.client.api.SecondaryType;
|
import org.apache.chemistry.opencmis.client.api.SecondaryType;
|
||||||
import org.apache.commons.codec.digest.DigestUtils;
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.testng.annotations.BeforeClass;
|
import org.testng.annotations.BeforeClass;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
@@ -69,6 +72,9 @@ public class DeclareDocumentAsRecordTests extends BaseRMRestTest
|
|||||||
private SiteModel testSite;
|
private SiteModel testSite;
|
||||||
private FolderModel testFolder;
|
private FolderModel testFolder;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
RecordsAPI recordsAPI;
|
||||||
|
|
||||||
@BeforeClass(alwaysRun=true)
|
@BeforeClass(alwaysRun=true)
|
||||||
public void declareDocumentAsRecordSetup() throws Exception
|
public void declareDocumentAsRecordSetup() throws Exception
|
||||||
{
|
{
|
||||||
@@ -239,6 +245,27 @@ public class DeclareDocumentAsRecordTests extends BaseRMRestTest
|
|||||||
assertStatusCode(UNPROCESSABLE_ENTITY);
|
assertStatusCode(UNPROCESSABLE_ENTITY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Given a file that has version declared as record
|
||||||
|
* When the file is declared as record
|
||||||
|
* Then the action is successful
|
||||||
|
*/
|
||||||
|
@Test (description = "Declaring as record a file that already has its version declared as record is successful")
|
||||||
|
@AlfrescoTest (jira = "RM-6786")
|
||||||
|
public void declareAsRecordAFileWithARecordVersion() throws Exception
|
||||||
|
{
|
||||||
|
STEP("Create a file.");
|
||||||
|
FileModel testFile = dataContent.usingSite(testSite).createContent(CMISUtil.DocumentType.TEXT_PLAIN);
|
||||||
|
|
||||||
|
STEP("Declare file version as record and check that record is successfully created.");
|
||||||
|
recordsAPI.declareDocumentVersionAsRecord(getAdminUser().getUsername(), getAdminUser().getPassword(), testSite.getId(),
|
||||||
|
testFile.getName());
|
||||||
|
|
||||||
|
STEP("Declare file as record and check that record is successfully created.");
|
||||||
|
getRestAPIFactory().getFilesAPI().declareAsRecord(testFile.getNodeRefWithoutVersion());
|
||||||
|
assertStatusCode(CREATED);
|
||||||
|
}
|
||||||
|
|
||||||
// @Test(description = "Create 500 documents and declare them ass records concurently.")
|
// @Test(description = "Create 500 documents and declare them ass records concurently.")
|
||||||
// public void declare500DocumentsAsRecordsConcurrently() throws Exception
|
// public void declare500DocumentsAsRecordsConcurrently() throws Exception
|
||||||
// {
|
// {
|
||||||
|
@@ -30,6 +30,7 @@ package org.alfresco.module.org_alfresco_module_rm.model.rma.aspect;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.BaseBehaviourBean;
|
import org.alfresco.module.org_alfresco_module_rm.model.BaseBehaviourBean;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.relationship.Relationship;
|
import org.alfresco.module.org_alfresco_module_rm.relationship.Relationship;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.relationship.RelationshipService;
|
import org.alfresco.module.org_alfresco_module_rm.relationship.RelationshipService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionService;
|
import org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionService;
|
||||||
@@ -142,8 +143,12 @@ public class VersionRecordAspect extends BaseBehaviourBean
|
|||||||
@Override
|
@Override
|
||||||
@Behaviour(kind = BehaviourKind.CLASS, notificationFrequency = NotificationFrequency.FIRST_EVENT)
|
@Behaviour(kind = BehaviourKind.CLASS, notificationFrequency = NotificationFrequency.FIRST_EVENT)
|
||||||
public void beforeAddAspect(NodeRef nodeRef, QName qName)
|
public void beforeAddAspect(NodeRef nodeRef, QName qName)
|
||||||
|
{
|
||||||
|
// if the node is the originating one the behaviour shouldn't be triggered
|
||||||
|
if (!nodeService.hasAspect(nodeRef, RecordsManagementModel.ASPECT_RECORD_ORIGINATING_DETAILS))
|
||||||
{
|
{
|
||||||
//create a new content URL for the version record
|
//create a new content URL for the version record
|
||||||
createNewContentURL(nodeRef);
|
createNewContentURL(nodeRef);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user