From aab247e304509b6fa32ffe1e9d21c585526a5a99 Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Mon, 9 Feb 2015 22:33:33 +0000 Subject: [PATCH] RM-1887: Unfiled record behaves as not unfiled after move git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@96631 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../model/rma/aspect/RecordAspect.java | 3 +- .../test/integration/issue/RM1887Test.java | 82 +++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1887Test.java diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspect.java index eef438f275..2747da3d4f 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspect.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspect.java @@ -236,7 +236,8 @@ public class RecordAspect extends AbstractDisposableItem { public Object doWork() { - if (nodeService.exists(record)) + if (nodeService.exists(record) && + recordService.isFiled(record)) { // clean record cleanDisposableItem(nodeService, record); diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1887Test.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1887Test.java new file mode 100644 index 0000000000..556e736631 --- /dev/null +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1887Test.java @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2005-2014 Alfresco Software Limited. + * + * This file is part of Alfresco + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ +package org.alfresco.module.org_alfresco_module_rm.test.integration.issue; + +import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; +import org.alfresco.service.cmr.repository.NodeRef; + + +/** + * Integration test for RM-1887 + * + * @author Roy Wetherall + * @since 2.3 + */ +public class RM1887Test extends BaseRMTestCase +{ + @Override + protected boolean isRecordTest() + { + return true; + } + + /** + * Given that a record is unfiled + * And an unfiled folder has been created + * When I move the unfiled record into the unfiled folder + * Then the filed date of the unfiled record remains unset + */ + public void testMoveUnfiledRecord() throws Exception + { + doBehaviourDrivenTest(new BehaviourDrivenTest() + { + private NodeRef unfiledRecordFolder; + private NodeRef unfiledRecord; + + public void given() throws Exception + { + // create unfiled folder + unfiledRecordFolder = fileFolderService.create(filePlanService.getUnfiledContainer(filePlan), "my test folder", TYPE_UNFILED_RECORD_FOLDER).getNodeRef(); + + // crate unfiled record + unfiledRecord = recordService.createRecordFromContent(filePlan, "test.txt", TYPE_CONTENT, null, null); + + // check the record + assertTrue(recordService.isRecord(unfiledRecord)); + assertFalse(recordService.isFiled(unfiledRecord)); + } + + public void when() throws Exception + { + // move the record into the unfiled folder + fileFolderService.move(unfiledRecord, unfiledRecordFolder, null); + } + + public void then() + { + // check the record + assertTrue(recordService.isRecord(unfiledRecord)); + assertFalse(recordService.isFiled(unfiledRecord)); + } + }); + + } + + +}