Refactored FreezeService after adding the HoldService

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@63769 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2014-03-07 15:27:40 +00:00
parent 90c40688ec
commit e5abd6fb99
9 changed files with 205 additions and 181 deletions

View File

@@ -22,7 +22,6 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
@@ -128,7 +127,7 @@ public class RM1008Test extends BaseRMTestCase
{
// create hold object
freezeService.freeze("test", rmFolder);
Set<NodeRef> holds = freezeService.getHolds(filePlan);
List<NodeRef> holds = holdService.getHolds(filePlan);
return holds.iterator().next();
}
}, rmAdminName);

View File

@@ -18,7 +18,7 @@
*/
package org.alfresco.module.org_alfresco_module_rm.test.issue;
import java.util.Set;
import java.util.List;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -26,18 +26,18 @@ import org.alfresco.service.cmr.repository.NodeRef;
/**
* Unit test for RM-1030 .. can't freeze a record folder that already has a frozen record contained within
*
*
* @author Roy Wetherall
* @since 2.1
*/
public class RM1030Test extends BaseRMTestCase
{
public class RM1030Test extends BaseRMTestCase
{
@Override
protected boolean isRecordTest()
{
return true;
}
public void testRM1030() throws Exception
{
final NodeRef recordHold = doTestInTransaction(new Test<NodeRef>()
@@ -46,100 +46,100 @@ public class RM1030Test extends BaseRMTestCase
public NodeRef run()
{
// show there are no holds when we start
Set<NodeRef> holds = freezeService.getHolds(filePlan);
List<NodeRef> holds = holdService.getHolds(filePlan);
assertNotNull(holds);
assertEquals(0, holds.size());
// freeze record contained within the record folder
NodeRef hold = freezeService.freeze("in true life for serious", recordOne);
assertNotNull(hold);
return hold;
}
@Override
public void test(NodeRef hold) throws Exception
{
// show the record is frozen
assertTrue(freezeService.isFrozen(recordOne));
// count the number of holds
Set<NodeRef> holds = freezeService.getHolds(filePlan);
List<NodeRef> holds = holdService.getHolds(filePlan);
assertNotNull(holds);
assertEquals(1, holds.size());
}
});
final NodeRef recordFolderHold = doTestInTransaction(new Test<NodeRef>()
{
@Override
public NodeRef run()
{
{
// freeze the record folder that contains the frozen record
NodeRef folderHold = freezeService.freeze("innit but", rmFolder);
assertNotNull(folderHold);
return folderHold;
}
@Override
public void test(NodeRef hold) throws Exception
{
// show that the record and the record folder are frozen
assertTrue(freezeService.isFrozen(recordOne));
assertTrue(freezeService.isFrozen(rmFolder));
// count the number of holds
Set<NodeRef> holds = freezeService.getHolds(filePlan);
List<NodeRef> holds = holdService.getHolds(filePlan);
assertNotNull(holds);
assertEquals(2, holds.size());
}
});
doTestInTransaction(new Test<Void>()
{
@Override
public Void run()
{
{
// relinquish the record folder hold
freezeService.relinquish(recordFolderHold);
freezeService.relinquish(recordFolderHold);
return null;
}
@Override
public void test(Void result) throws Exception
{
assertTrue(freezeService.isFrozen(recordOne));
assertFalse(freezeService.isFrozen(rmFolder));
Set<NodeRef> holds = freezeService.getHolds(filePlan);
List<NodeRef> holds = holdService.getHolds(filePlan);
assertNotNull(holds);
assertEquals(1, holds.size());
}
});
doTestInTransaction(new Test<Void>()
{
@Override
public Void run()
{
{
// relinquish the record hold
freezeService.relinquish(recordHold);
freezeService.relinquish(recordHold);
return null;
}
@Override
public void test(Void result) throws Exception
{
assertFalse(freezeService.isFrozen(recordOne));
assertFalse(freezeService.isFrozen(rmFolder));
Set<NodeRef> holds = freezeService.getHolds(filePlan);
List<NodeRef> holds = holdService.getHolds(filePlan);
assertNotNull(holds);
assertEquals(0, holds.size());
}
});
}
}

View File

@@ -29,7 +29,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
/**
* Freeze service implementation test.
*
*
* @author Tuna Aksoy
* @since 2.1
*/
@@ -65,7 +65,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
assertTrue(freezeService.hasFrozenChildren(rmFolder));
// Check the hold exists
Set<NodeRef> holdAssocs = freezeService.getHolds(filePlan);
List<NodeRef> holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
assertEquals(1, holdAssocs.size());
NodeRef holdNodeRef = holdAssocs.iterator().next();
@@ -98,7 +98,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
assertTrue(freezeService.isHold(newHold));
// Check the holds exist
holdAssocs = freezeService.getHolds(filePlan);
holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
assertEquals(2, holdAssocs.size());
for (NodeRef hold : holdAssocs)
@@ -136,7 +136,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
freezeService.unFreeze(recordThree);
// Check the holds
holdAssocs = freezeService.getHolds(filePlan);
holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
assertEquals(2, holdAssocs.size());
for (NodeRef hold : holdAssocs)
@@ -175,7 +175,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
freezeService.relinquish(holdNodeRef);
// Check the existing hold
holdAssocs = freezeService.getHolds(filePlan);
holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
assertEquals(1, holdAssocs.size());
@@ -184,7 +184,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
freezeService.unFreeze(freezeService.getFrozen(holdNodeRef));
// All holds should be deleted
holdAssocs = freezeService.getHolds(filePlan);
holdAssocs = holdService.getHolds(filePlan);
assertEquals(0, holdAssocs.size());
// Check the nodes are unfrozen
@@ -196,7 +196,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
// Test freezing nodes, adding them to an existing hold
NodeRef hold = freezeService.freeze("AnotherFreezeReason", recordFour);
freezeService.freeze(hold, recordOne);
holdService.addToHoldContainer(hold, recordOne);
Set<NodeRef> nodes = new HashSet<NodeRef>();
nodes.add(recordTwo);
nodes.add(recordThree);
@@ -204,7 +204,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
assertTrue(freezeService.hasFrozenChildren(rmFolder));
// Check the hold
holdAssocs = freezeService.getHolds(filePlan);
holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
assertEquals(1, holdAssocs.size());

View File

@@ -20,8 +20,8 @@ package org.alfresco.module.org_alfresco_module_rm.test.util;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionService;
@@ -34,6 +34,7 @@ import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionSchedul
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.fileplan.hold.HoldService;
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
import org.alfresco.module.org_alfresco_module_rm.identifier.IdentifierService;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
@@ -146,6 +147,7 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
protected ReportService reportService;
protected RecordsManagementAuditService rmAuditService;
protected IdentifierService identifierService;
protected HoldService holdService;
/** test data */
protected String siteId;
@@ -251,15 +253,15 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
protected String dmCollaborator;
protected NodeRef dmCollaboratorNodeRef;
/**
* Indicates whether this is a RM site test or not. If true then the test RM site is created along with a basic
/**
* Indicates whether this is a RM site test or not. If true then the test RM site is created along with a basic
* file plan structure, otherwise not.
*/
protected boolean isRMSiteTest()
{
return true;
}
/**
* Indicates whether this is a multi-hierarchy test or not. If it is then the multi-hierarchy record
* taxonomy test data is loaded.
@@ -395,6 +397,7 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
reportService = (ReportService) applicationContext.getBean("ReportService");
rmAuditService = (RecordsManagementAuditService) applicationContext.getBean("RecordsManagementAuditService");
identifierService = (IdentifierService) applicationContext.getBean("recordsManagementIdentifierService");
holdService = (HoldService) applicationContext.getBean("HoldService");
}
/**
@@ -430,7 +433,7 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
{
if (filePlan != null && nodeService.exists(filePlan) == true)
{
Set<NodeRef> holds = freezeService.getHolds(filePlan);
List<NodeRef> holds = holdService.getHolds(filePlan);
for (NodeRef hold : holds)
{
freezeService.relinquish(hold);
@@ -500,7 +503,7 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
utils.declareRecord(recordDeclaredOne);
utils.declareRecord(recordDeclaredTwo);
}
// unfiled container
unfiledContainer = filePlanService.getUnfiledContainer(filePlan);
assertNotNull(unfiledContainer);
@@ -540,7 +543,7 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
permissionService.setPermission(folder, "rmadmin", PermissionService.ADD_CHILDREN, true);
if (isRMSiteTest() == true)
{
{
siteId = GUID.generate();
siteInfo = siteService.createSite(
"rm-site-dashboard",
@@ -549,17 +552,17 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
"descrition",
SiteVisibility.PUBLIC,
RecordsManagementModel.TYPE_RM_SITE);
filePlan = siteService.getContainer(siteId, RmSiteType.COMPONENT_DOCUMENT_LIBRARY);
assertNotNull("Site document library container was not created successfully.", filePlan);
// Create RM container
rmContainer = filePlanService.createRecordCategory(filePlan, "rmContainer");
assertNotNull("Could not create rm container", rmContainer);
// Create disposition schedule
dispositionSchedule = utils.createBasicDispositionSchedule(rmContainer);
// Create RM folder
rmFolder = recordFolderService.createRecordFolder(rmContainer, "rmFolder");
assertNotNull("Could not create rm folder", rmFolder);