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
This commit is contained in:
Roy Wetherall
2015-02-09 22:33:33 +00:00
parent b8321022a6
commit aab247e304
2 changed files with 84 additions and 1 deletions

View File

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

View File

@@ -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 <http://www.gnu.org/licenses/>.
*/
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));
}
});
}
}