diff --git a/rm-community/pom.xml b/rm-community/pom.xml
index 3e968cbb1d..8e9816ba62 100644
--- a/rm-community/pom.xml
+++ b/rm-community/pom.xml
@@ -43,7 +43,7 @@
- 5.2.f
- 5.2.e
+ 5.2.g
+ 5.2.f
diff --git a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java
index 01ee388041..6117658a96 100644
--- a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java
+++ b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java
@@ -91,53 +91,68 @@ public class DeleteHoldTest extends BaseRMTestCase
public void testDeleteHoldBehaviourForRecordFolder()
{
+ NodeRef hold1 = doTestInTransaction(new Test()
+ {
+ @Override
+ public NodeRef run() throws Exception
+ {
+ // create test holds
+ return createAndCheckHold();
+ }
+ });
+ //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception
doTestInTransaction(new Test()
{
- @Override
- public Void run() throws Exception
- {
- // create test holds
- NodeRef hold1 = createAndCheckHold();
+ @Override
+ public Void run() throws Exception
+ {
+ // add the record folder to hold1
+ holdService.addToHold(hold1, rmFolder);
- // add the record folder to hold1
- holdService.addToHold(hold1, rmFolder);
+ // assert that the folder and records are frozen
+ assertTrue(freezeService.isFrozen(rmFolder));
+ assertTrue(freezeService.isFrozen(recordOne));
+ assertTrue(freezeService.isFrozen(recordDeclaredOne));
- // assert that the folder and records are frozen
- assertTrue(freezeService.isFrozen(rmFolder));
- assertTrue(freezeService.isFrozen(recordOne));
- assertTrue(freezeService.isFrozen(recordDeclaredOne));
+ // check the contents of the hold
+ List frozenNodes = holdService.getHeld(hold1);
+ assertNotNull(frozenNodes);
+ assertEquals(1, frozenNodes.size());
+ assertEquals(rmFolder, frozenNodes.get(0));
- // check the contents of the hold
- List frozenNodes = holdService.getHeld(hold1);
- assertNotNull(frozenNodes);
- assertEquals(1, frozenNodes.size());
- assertEquals(rmFolder, frozenNodes.get(0));
+ // delete the hold
+ holdService.deleteHold(hold1);
- // delete the hold
- holdService.deleteHold(hold1);
+ // assert that the folder and records no longer frozen
+ assertFalse(freezeService.isFrozen(rmFolder));
+ assertFalse(freezeService.isFrozen(recordOne));
+ assertFalse(freezeService.isFrozen(recordDeclaredOne));
- // assert that the folder and records no longer frozen
- assertFalse(freezeService.isFrozen(rmFolder));
- assertFalse(freezeService.isFrozen(recordOne));
- assertFalse(freezeService.isFrozen(recordDeclaredOne));
+ // confirm the hold has been deleted
+ assertNull(holdService.getHold(filePlan, "hold one"));
- // confirm the hold has been deleted
- assertNull(holdService.getHold(filePlan, "hold one"));
-
- return null;
- }
+ return null;
+ }
});
}
public void testDeleteHoldBehaviourForMultipleHolds()
{
+ List holds = doTestInTransaction(new Test>()
+ {
+ @Override
+ public List run() throws Exception
+ {
+ // create test holds
+ return createAndCheckHolds();
+ }
+ });
+ //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception
doTestInTransaction(new Test()
{
@Override
public Void run() throws Exception
{
- // create test holds
- List holds = createAndCheckHolds();
NodeRef hold1 = holds.get(0);
NodeRef hold2 = holds.get(1);
diff --git a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java
index 8650797d79..49cd661457 100644
--- a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java
+++ b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java
@@ -43,6 +43,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.QName;
import org.alfresco.util.GUID;
import org.apache.commons.lang.StringUtils;
+import org.junit.Before;
/**
*
@@ -51,30 +52,26 @@ import org.apache.commons.lang.StringUtils;
*/
public class RM1914Test extends BaseRMTestCase
{
-
+ //Fields required across transactions
+ NodeRef record1, transferFolder;
+
public void testRM1914() throws Exception
{
doBehaviourDrivenTest(new BehaviourDrivenTest()
{
-
- NodeRef record1;
- NodeRef record2;
- public void given()
- {
- // 1. Any Category1, Category2 are created
+ public void given(){
+
+ // create test holds
NodeRef category1 = filePlanService.createRecordCategory(filePlan, GUID.generate());
NodeRef category2 = filePlanService.createRecordCategory(filePlan, GUID.generate());
-
-
- // 2. Disposition schedule is created for the Category1:
- // - applied on Record
+
Map dsProps = new HashMap(3);
dsProps.put(PROP_DISPOSITION_AUTHORITY, CommonRMTestUtils.DEFAULT_DISPOSITION_AUTHORITY);
dsProps.put(PROP_DISPOSITION_INSTRUCTIONS, GUID.generate());
dsProps.put(PROP_RECORD_LEVEL_DISPOSITION, true);
-
DispositionSchedule dispositionSchedule1 = dispositionService.createDispositionSchedule(category1, dsProps);
+ NodeRef folder1 = recordFolderService.createRecordFolder(category1, GUID.generate());
// - add cutoff after "Related Record Transferred To Inactive Storage" completion event
Map dispositionAction1 = new HashMap(3);
@@ -82,57 +79,55 @@ public class RM1914Test extends BaseRMTestCase
dispositionAction1.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate());
List events = new ArrayList(1);
- events.add("related_record_trasfered_inactive_storage");
- dispositionAction1.put(PROP_DISPOSITION_EVENT, (Serializable)events);
+ events.add("related_record_trasfered_inactive_storage");
+ dispositionAction1.put(PROP_DISPOSITION_EVENT, (Serializable) events);
dispositionService.addDispositionActionDefinition(dispositionSchedule1, dispositionAction1);
-
-
+
// 3. Folder1 > Record1 is created inside Category1
- NodeRef folder1 = recordFolderService.createRecordFolder(category1, GUID.generate());
record1 = recordService.createRecordFromContent(folder1, GUID.generate(), TYPE_CONTENT, null, null);
-
-
- // 4. Disposition schedule is created for the Category2:
+
+ // 4. Disposition schedule is created for the Category2:
// applied on Record
DispositionSchedule dispositionSchedule2 = dispositionService.createDispositionSchedule(category2, dsProps);
-
+
// - cutoff immediatelly
Map dispositionAction2_1 = new HashMap(3);
dispositionAction2_1.put(PROP_DISPOSITION_ACTION_NAME, CutOffAction.NAME);
dispositionAction2_1.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate());
- dispositionAction2_1.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY);
+ dispositionAction2_1.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY);
dispositionService.addDispositionActionDefinition(dispositionSchedule2, dispositionAction2_1);
-
+
// - Transfer Immediatelly
Map dispositionAction2_2 = new HashMap(4);
dispositionAction2_2.put(PROP_DISPOSITION_ACTION_NAME, TransferAction.NAME);
dispositionAction2_2.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate());
dispositionAction2_2.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY);
dispositionAction2_2.put(PROP_DISPOSITION_LOCATION, StringUtils.EMPTY);
-
+
dispositionService.addDispositionActionDefinition(dispositionSchedule2, dispositionAction2_2);
-
// 5. Folder2 > Record2 is created inside Category2
NodeRef folder2 = recordFolderService.createRecordFolder(category2, GUID.generate());
- record2 = recordService.createRecordFromContent(folder2, GUID.generate(), TYPE_CONTENT, null, null);
-
+ NodeRef record2 = recordService.createRecordFromContent(folder2, GUID.generate(), TYPE_CONTENT, null, null);
+
// 6. Record1 and Record2 are completed
utils.completeRecord(record1);
utils.completeRecord(record2);
-
// 7. Create Cross-Reference link from Record1 to Record2
relationshipService.addRelationship(CUSTOM_REF_CROSSREFERENCE.getLocalName(), record1, record2);
+ // 8. Cut off and transfer Record2
+ rmActionService.executeRecordsManagementAction(record2, CutOffAction.NAME, null);
+ transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(record2, TransferAction.NAME)
+ .getValue();
}
public void when()
{
- // 8. Cut off and transfer Record2
- rmActionService.executeRecordsManagementAction(record2, CutOffAction.NAME, null);
- NodeRef transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(record2, TransferAction.NAME).getValue();
+
+
rmActionService.executeRecordsManagementAction(transferFolder, TransferCompleteAction.NAME);
}
diff --git a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM4804Test.java b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM4804Test.java
index 0005ce388f..3bcf50c6da 100644
--- a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM4804Test.java
+++ b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM4804Test.java
@@ -46,6 +46,8 @@ import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.extensions.webscripts.GUID;
+import javax.xml.soap.Node;
+
/**
* Integration test for RM-4804
*
@@ -56,6 +58,10 @@ import org.springframework.extensions.webscripts.GUID;
*/
public class RM4804Test extends BaseRMTestCase
{
+ //Fields required across transactions
+ NodeRef record;
+ NodeRef transferFolder;
+
/**
* Given a category with disposition schedule applied on folder with Cut Of and Transfer, a record folder and a file PDF document
* to folder, complete the record
@@ -67,14 +73,10 @@ public class RM4804Test extends BaseRMTestCase
{
doBehaviourDrivenTest(new BehaviourDrivenTest()
{
- NodeRef recordCategory;
- NodeRef recordFolder;
- NodeRef record;
-
public void given()
{
// category is created
- recordCategory = filePlanService.createRecordCategory(filePlan, GUID.generate());
+ NodeRef recordCategory = filePlanService.createRecordCategory(filePlan, GUID.generate());
// create a disposition schedule for category, applied on folder
Map dsProps = new HashMap(3);
@@ -82,7 +84,8 @@ public class RM4804Test extends BaseRMTestCase
dsProps.put(PROP_DISPOSITION_INSTRUCTIONS, GUID.generate());
dsProps.put(PROP_RECORD_LEVEL_DISPOSITION, false);
- DispositionSchedule dispositionSchedule = dispositionService.createDispositionSchedule(recordCategory, dsProps);
+ DispositionSchedule dispositionSchedule = dispositionService.createDispositionSchedule(recordCategory,
+ dsProps);
// cutoff immediately
Map dispositionActionCutOff = new HashMap(3);
@@ -102,8 +105,7 @@ public class RM4804Test extends BaseRMTestCase
dispositionService.addDispositionActionDefinition(dispositionSchedule, dispositionActionTransfer);
// add folder under category
- recordFolder = recordFolderService.createRecordFolder(recordCategory, GUID.generate());
-
+ NodeRef recordFolder = recordFolderService.createRecordFolder(recordCategory, GUID.generate());
// add record of type PDF under folder
Map props = new HashMap(1);
props.put(ContentModel.PROP_TITLE, GUID.generate());
@@ -112,14 +114,15 @@ public class RM4804Test extends BaseRMTestCase
// complete the record
utils.completeRecord(record);
+ // cut off and transfer record
+ rmActionService.executeRecordsManagementAction(recordFolder, CutOffAction.NAME, null);
+ transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(recordFolder,
+ TransferAction.NAME)
+ .getValue();
}
public void when()
{
- // cut off and transfer record
- rmActionService.executeRecordsManagementAction(recordFolder, CutOffAction.NAME, null);
- NodeRef transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(recordFolder, TransferAction.NAME)
- .getValue();
rmActionService.executeRecordsManagementAction(transferFolder, TransferCompleteAction.NAME);
}
diff --git a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java
index 514d52fe97..65d5f51fad 100644
--- a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java
+++ b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java
@@ -43,7 +43,9 @@ import org.alfresco.service.cmr.repository.NodeRef;
*/
public class FreezeServiceImplTest extends BaseRMTestCase
{
- @Override
+ private List holdAssocs;
+
+ @Override
protected boolean isRecordTest()
{
return true;
@@ -56,7 +58,9 @@ public class FreezeServiceImplTest extends BaseRMTestCase
*/
public void testFreezeService() throws Exception
{
- doTestInTransaction(new Test()
+
+
+ doTestInTransaction(new Test()
{
@Override
public Void run() throws Exception
@@ -71,20 +75,26 @@ public class FreezeServiceImplTest extends BaseRMTestCase
assertTrue(filePlanService.isFilePlanComponent(recordFour));
// Freeze a record
- NodeRef hold101 = holdService.createHold(filePlan, "freezename 101", "FreezeReason", null);
- assertNotNull(hold101);
- holdService.addToHold(hold101, recordOne);
- //assertTrue(freezeService.hasFrozenChildren(rmFolder));
+ NodeRef hold101 = holdService.createHold(filePlan, "freezename 101", "FreezeReason", null);
+
+ assertNotNull(hold101);
+ holdService.addToHold(hold101, recordOne);
+
+ //assertTrue(freezeService.hasFrozenChildren(rmFolder));
+
+ // Check the hold exists
+ holdAssocs = holdService.getHolds(filePlan);
+ assertNotNull(holdAssocs);
+ assertEquals(1, holdAssocs.size());
+
+ NodeRef holdNodeRef = holdAssocs.iterator().next();
+
- // Check the hold exists
- List holdAssocs = holdService.getHolds(filePlan);
- assertNotNull(holdAssocs);
- assertEquals(1, holdAssocs.size());
- NodeRef holdNodeRef = holdAssocs.iterator().next();
assertEquals(holdNodeRef, hold101);
assertTrue(holdService.isHold(holdNodeRef));
assertEquals("FreezeReason", holdService.getHoldReason(holdNodeRef));
- List frozenNodes = holdService.getHeld(holdNodeRef);
+ List frozenNodes = holdService.getHeld(holdNodeRef);
+
assertNotNull(frozenNodes);
assertEquals(1, frozenNodes.size());
@@ -102,11 +112,12 @@ public class FreezeServiceImplTest extends BaseRMTestCase
assertEquals("NewFreezeReason", holdService.getHoldReason(holdNodeRef));
// Freeze a number of records
- List records = new ArrayList();
+ List records = new ArrayList();
records.add(recordOne);
records.add(recordTwo);
records.add(recordThree);
NodeRef newHold = holdService.createHold(filePlan, "Hold 102", "Freeze a set of nodes", null);
+
holdService.addToHold(newHold, records);
assertNotNull(newHold);
assertTrue(holdService.isHold(newHold));
@@ -115,6 +126,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
assertEquals(2, holdAssocs.size());
+
for (NodeRef hold : holdAssocs)
{
String reason = holdService.getHoldReason(hold);
@@ -148,7 +160,6 @@ public class FreezeServiceImplTest extends BaseRMTestCase
// Unfreeze a node
holdService.removeFromAllHolds(recordThree);
-
// Check the holds
holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
@@ -183,9 +194,17 @@ public class FreezeServiceImplTest extends BaseRMTestCase
assertNotNull(freezeService.getFreezeInitiator(recordTwo));
assertFalse(freezeService.isFrozen(recordThree));
assertFalse(freezeService.isFrozen(recordFour));
-
+ return null;
+ }
+ });
+ //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception
+ doTestInTransaction(new Test()
+ {
+ @Override
+ public Void run() throws Exception
+ {
// Relinquish the first hold
- holdNodeRef = holdAssocs.iterator().next();
+ NodeRef holdNodeRef = holdAssocs.iterator().next();
holdService.deleteHold(holdNodeRef);
// Check the existing hold
@@ -203,6 +222,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
// delete hold
holdService.deleteHold(holdNodeRef);
+
holdAssocs = holdService.getHolds(filePlan);
assertEquals(0, holdAssocs.size());
@@ -222,12 +242,19 @@ public class FreezeServiceImplTest extends BaseRMTestCase
nodes.add(recordThree);
holdService.addToHold(hold, nodes);
//assertTrue(freezeService.hasFrozenChildren(rmFolder));
-
// Check the hold
holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
assertEquals(1, holdAssocs.size());
-
+ return null;
+ }
+ });
+ //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception
+ doTestInTransaction(new Test()
+ {
+ @Override
+ public Void run() throws Exception
+ {
// Relinquish the first hold
holdService.deleteHold(holdAssocs.iterator().next());