diff --git a/amps/ags/rm-community/rm-community-repo/pom.xml b/amps/ags/rm-community/rm-community-repo/pom.xml
index d58f39125c..d298cb58bd 100644
--- a/amps/ags/rm-community/rm-community-repo/pom.xml
+++ b/amps/ags/rm-community/rm-community-repo/pom.xml
@@ -144,7 +144,7 @@
org.projectlombok
lombok
- compile
+ provided
diff --git a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/action/RecordsManagementActionServiceImpl.java b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/action/RecordsManagementActionServiceImpl.java
index 4b1e3bdefa..f2c40efe63 100644
--- a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/action/RecordsManagementActionServiceImpl.java
+++ b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/action/RecordsManagementActionServiceImpl.java
@@ -84,24 +84,11 @@ public class RecordsManagementActionServiceImpl implements RecordsManagementActi
*/
private FreezeService freezeService;
- /**
- * @param freezeService freeze service
- */
- public void setFreezeService(FreezeService freezeService)
- {
- this.freezeService = freezeService;
- }
-
/**
* list of retention actions to automatically execute
*/
private List retentionActions;
- public void setRetentionActions(List retentionActions)
- {
- this.retentionActions = retentionActions;
- }
-
/**
* @return Policy component
*/
@@ -118,6 +105,19 @@ public class RecordsManagementActionServiceImpl implements RecordsManagementActi
return this.nodeService;
}
+ /**
+ * @param freezeService freeze service
+ */
+ public void setFreezeService(FreezeService freezeService)
+ {
+ this.freezeService = freezeService;
+ }
+
+ public void setRetentionActions(List retentionActions)
+ {
+ this.retentionActions = retentionActions;
+ }
+
/**
* Set the policy component
*
@@ -336,7 +336,8 @@ public class RecordsManagementActionServiceImpl implements RecordsManagementActi
String msg = I18NUtil.getMessage(MSG_NO_IMPLICIT_NODEREF, name);
log.warn(msg);
throw new AlfrescoRuntimeException(msg);
- } else
+ }
+ else
{
return this.executeRecordsManagementAction(implicitTargetNode, name, parameters);
}
diff --git a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionService.java b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionService.java
index 4c71ac55e5..ce5ff5bc7d 100644
--- a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionService.java
+++ b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionService.java
@@ -288,5 +288,4 @@ public interface DispositionService
* @param record
*/
void recalculateNextDispositionStep(NodeRef record);
-
}
diff --git a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/freeze/FreezeServiceImpl.java b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/freeze/FreezeServiceImpl.java
index 037c543346..0e11d2dc79 100644
--- a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/freeze/FreezeServiceImpl.java
+++ b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/freeze/FreezeServiceImpl.java
@@ -66,15 +66,21 @@ import org.springframework.extensions.surf.util.I18NUtil;
*/
public class FreezeServiceImpl extends ServiceBaseImpl
implements FreezeService,
- RecordsManagementModel
+ RecordsManagementModel
{
- /** I18N */
+ /**
+ * I18N
+ */
private static final String MSG_HOLD_NAME = "rm.hold.name";
- /** File Plan Service */
+ /**
+ * File Plan Service
+ */
private FilePlanService filePlanService;
- /** Hold service */
+ /**
+ * Hold service
+ */
private HoldService holdService;
/**
@@ -90,42 +96,48 @@ public class FreezeServiceImpl extends ServiceBaseImpl
/**
* @param recordFolderService record folder service
*/
- public void setRecordFolderService(RecordFolderService recordFolderService) {
+ public void setRecordFolderService(RecordFolderService recordFolderService)
+ {
this.recordFolderService = recordFolderService;
}
/**
* @param recordService record service
*/
- public void setRecordService(RecordService recordService) {
+ public void setRecordService(RecordService recordService)
+ {
this.recordService = recordService;
}
/**
* @return File plan service
*/
- protected FilePlanService getFilePlanService() {
+ protected FilePlanService getFilePlanService()
+ {
return this.filePlanService;
}
/**
* @return Hold service
*/
- protected HoldService getHoldService() {
+ protected HoldService getHoldService()
+ {
return this.holdService;
}
/**
* @param filePlanService file plan service
*/
- public void setFilePlanService(FilePlanService filePlanService) {
+ public void setFilePlanService(FilePlanService filePlanService)
+ {
this.filePlanService = filePlanService;
}
/**
* @param holdService hold service
*/
- public void setHoldService(HoldService holdService) {
+ public void setHoldService(HoldService holdService)
+ {
this.holdService = holdService;
}
@@ -133,7 +145,8 @@ public class FreezeServiceImpl extends ServiceBaseImpl
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#isFrozen(org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
- public boolean isFrozen(NodeRef nodeRef) {
+ public boolean isFrozen(NodeRef nodeRef)
+ {
ParameterCheck.mandatory("nodeRef", nodeRef);
return nodeService.hasAspect(nodeRef, ASPECT_FROZEN);
@@ -148,17 +161,19 @@ public class FreezeServiceImpl extends ServiceBaseImpl
*/
@Override
@Deprecated
- public Set getFrozen(NodeRef hold) {
+ public Set getFrozen(NodeRef hold)
+ {
return new HashSet<>(getHoldService().getHeld(hold));
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#freeze(java.lang.String,
- * org.alfresco.service.cmr.repository.NodeRef)
+ * org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
@Deprecated
- public NodeRef freeze(String reason, NodeRef nodeRef) {
+ public NodeRef freeze(String reason, NodeRef nodeRef)
+ {
NodeRef hold = createHold(nodeRef, reason);
getHoldService().addToHold(hold, nodeRef);
return hold;
@@ -166,11 +181,12 @@ public class FreezeServiceImpl extends ServiceBaseImpl
/**
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#freeze(org.alfresco.service.cmr.repository.NodeRef,
- * org.alfresco.service.cmr.repository.NodeRef)
+ * org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
@Deprecated
- public void freeze(NodeRef hold, NodeRef nodeRef) {
+ public void freeze(NodeRef hold, NodeRef nodeRef)
+ {
ParameterCheck.mandatory("hold", hold);
ParameterCheck.mandatory("nodeRef", nodeRef);
@@ -179,13 +195,15 @@ public class FreezeServiceImpl extends ServiceBaseImpl
/**
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#freeze(java.lang.String,
- * java.util.Set)
+ * java.util.Set)
*/
@Override
@Deprecated
- public NodeRef freeze(String reason, Set nodeRefs) {
+ public NodeRef freeze(String reason, Set nodeRefs)
+ {
NodeRef hold = null;
- if (!nodeRefs.isEmpty()) {
+ if (!nodeRefs.isEmpty())
+ {
final List list = new ArrayList<>(nodeRefs);
hold = createHold(list.get(0), reason);
getHoldService().addToHold(hold, list);
@@ -195,15 +213,17 @@ public class FreezeServiceImpl extends ServiceBaseImpl
/**
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#freeze(org.alfresco.service.cmr.repository.NodeRef,
- * java.util.Set)
+ * java.util.Set)
*/
@Override
@Deprecated
- public void freeze(NodeRef hold, Set nodeRefs) {
+ public void freeze(NodeRef hold, Set nodeRefs)
+ {
ParameterCheck.mandatory("hold", hold);
ParameterCheck.mandatoryCollection("nodeRefs", nodeRefs);
- for (NodeRef nodeRef : nodeRefs) {
+ for (NodeRef nodeRef : nodeRefs)
+ {
freeze(hold, nodeRef);
}
}
@@ -213,9 +233,11 @@ public class FreezeServiceImpl extends ServiceBaseImpl
*/
@Override
@Deprecated
- public void unFreeze(NodeRef nodeRef) {
+ public void unFreeze(NodeRef nodeRef)
+ {
List holds = getHoldService().heldBy(nodeRef, true);
- for (NodeRef hold : holds) {
+ for (NodeRef hold : holds)
+ {
getHoldService().removeFromHold(hold, nodeRef);
}
}
@@ -225,10 +247,12 @@ public class FreezeServiceImpl extends ServiceBaseImpl
*/
@Override
@Deprecated
- public void unFreeze(Set nodeRefs) {
+ public void unFreeze(Set nodeRefs)
+ {
ParameterCheck.mandatoryCollection("nodeRefs", nodeRefs);
- for (NodeRef nodeRef : nodeRefs) {
+ for (NodeRef nodeRef : nodeRefs)
+ {
unFreeze(nodeRef);
}
}
@@ -238,7 +262,8 @@ public class FreezeServiceImpl extends ServiceBaseImpl
*/
@Override
@Deprecated
- public void relinquish(NodeRef hold) {
+ public void relinquish(NodeRef hold)
+ {
getHoldService().deleteHold(hold);
}
@@ -247,17 +272,19 @@ public class FreezeServiceImpl extends ServiceBaseImpl
*/
@Override
@Deprecated
- public String getReason(NodeRef hold) {
+ public String getReason(NodeRef hold)
+ {
return getHoldService().getHoldReason(hold);
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#updateReason(org.alfresco.service.cmr.repository.NodeRef,
- * java.lang.String)
+ * java.lang.String)
*/
@Override
@Deprecated
- public void updateReason(NodeRef hold, String reason) {
+ public void updateReason(NodeRef hold, String reason)
+ {
getHoldService().setHoldReason(hold, reason);
}
@@ -265,7 +292,8 @@ public class FreezeServiceImpl extends ServiceBaseImpl
* @see org.alfresco.module.org_alfresco_module_rm.hold.HoldService#getHolds(NodeRef)
*/
@Override
- public Set getHolds(NodeRef filePlan) {
+ public Set getHolds(NodeRef filePlan)
+ {
ParameterCheck.mandatory("filePlan", filePlan);
return new HashSet<>(getHoldService().getHolds(filePlan));
@@ -275,48 +303,60 @@ public class FreezeServiceImpl extends ServiceBaseImpl
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#hasFrozenChildren(org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
- public boolean hasFrozenChildren(final NodeRef nodeRef) {
+ public boolean hasFrozenChildren(final NodeRef nodeRef)
+ {
ParameterCheck.mandatory("nodeRef", nodeRef);
boolean result = false;
// check that we are dealing with a record folder or a collaboration folder
if (isRecordFolder(nodeRef) ||
- (instanceOf(nodeRef, TYPE_FOLDER) && !nodeService.hasAspect(nodeRef, ASPECT_SITE_CONTAINER))) {
+ (instanceOf(nodeRef, TYPE_FOLDER) && !nodeService.hasAspect(nodeRef, ASPECT_SITE_CONTAINER)))
+ {
int heldCount = 0;
- if (nodeService.hasAspect(nodeRef, ASPECT_HELD_CHILDREN)) {
- heldCount = (Integer) getInternalNodeService().getProperty(nodeRef, PROP_HELD_CHILDREN_COUNT);
- } else {
- final TransactionService transactionService = (TransactionService) applicationContext.getBean("transactionService");
+ if (nodeService.hasAspect(nodeRef, ASPECT_HELD_CHILDREN))
+ {
+ heldCount = (Integer)getInternalNodeService().getProperty(nodeRef, PROP_HELD_CHILDREN_COUNT);
+ }
+ else
+ {
+ final TransactionService transactionService = (TransactionService)applicationContext.getBean("transactionService");
- heldCount = AuthenticationUtil.runAsSystem(new RunAsWork() {
+ heldCount = AuthenticationUtil.runAsSystem(new RunAsWork()
+ {
@Override
- public Integer doWork() {
- return transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback() {
- public Integer execute() throws Throwable {
- int heldCount = 0;
+ public Integer doWork()
+ {
+ return transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback()
+ {
+ public Integer execute() throws Throwable
+ {
+ int heldCount = 0;
- // NOTE: this process remains to 'patch' older systems to improve performance next time around
- List childAssocs = getInternalNodeService().getChildAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, null);
- if (childAssocs != null && !childAssocs.isEmpty()) {
- for (ChildAssociationRef childAssociationRef : childAssocs) {
- final NodeRef childRef = childAssociationRef.getChildRef();
- if (childAssociationRef.isPrimary() && isFrozen(childRef)) {
- heldCount++;
- }
- }
- }
+ // NOTE: this process remains to 'patch' older systems to improve performance next time around
+ List childAssocs = getInternalNodeService().getChildAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, null);
+ if (childAssocs != null && !childAssocs.isEmpty())
+ {
+ for (ChildAssociationRef childAssociationRef : childAssocs)
+ {
+ final NodeRef childRef = childAssociationRef.getChildRef();
+ if (childAssociationRef.isPrimary() && isFrozen(childRef))
+ {
+ heldCount ++;
+ }
+ }
+ }
- // add aspect and set count
- Map props = new HashMap<>(1);
- props.put(PROP_HELD_CHILDREN_COUNT, heldCount);
- getInternalNodeService().addAspect(nodeRef, ASPECT_HELD_CHILDREN, props);
+ // add aspect and set count
+ Map props = new HashMap<>(1);
+ props.put(PROP_HELD_CHILDREN_COUNT, heldCount);
+ getInternalNodeService().addAspect(nodeRef, ASPECT_HELD_CHILDREN, props);
- return heldCount;
- }
- },
- false, true);
+ return heldCount;
+ }
+ },
+ false, true);
}
});
}
@@ -332,12 +372,15 @@ public class FreezeServiceImpl extends ServiceBaseImpl
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#getFreezeDate(org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
- public Date getFreezeDate(NodeRef nodeRef) {
+ public Date getFreezeDate(NodeRef nodeRef)
+ {
ParameterCheck.mandatory("nodeRef", nodeRef);
- if (isFrozen(nodeRef)) {
+ if (isFrozen(nodeRef))
+ {
Serializable property = nodeService.getProperty(nodeRef, PROP_FROZEN_AT);
- if (property != null) {
+ if (property != null)
+ {
return (Date) property;
}
}
@@ -349,12 +392,15 @@ public class FreezeServiceImpl extends ServiceBaseImpl
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#getFreezeInitiator(org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
- public String getFreezeInitiator(NodeRef nodeRef) {
+ public String getFreezeInitiator(NodeRef nodeRef)
+ {
ParameterCheck.mandatory("nodeRef", nodeRef);
- if (isFrozen(nodeRef)) {
+ if (isFrozen(nodeRef))
+ {
Serializable property = nodeService.getProperty(nodeRef, PROP_FROZEN_BY);
- if (property != null) {
+ if (property != null)
+ {
return (String) property;
}
}
@@ -370,10 +416,11 @@ public class FreezeServiceImpl extends ServiceBaseImpl
* Creates a hold using the given nodeRef and reason
*
* @param nodeRef the nodeRef which will be frozen
- * @param reason the reason why the record will be frozen
+ * @param reason the reason why the record will be frozen
* @return NodeRef of the created hold
*/
- private NodeRef createHold(NodeRef nodeRef, String reason) {
+ private NodeRef createHold(NodeRef nodeRef, String reason)
+ {
// get the hold container
final NodeRef filePlan = getFilePlanService().getFilePlan(nodeRef);
NodeRef holdContainer = getFilePlanService().getHoldContainer(filePlan);
diff --git a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/job/DispositionLifecycleJobExecuter.java b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/job/DispositionLifecycleJobExecuter.java
index 31ab970e49..0e8ad83003 100644
--- a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/job/DispositionLifecycleJobExecuter.java
+++ b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/job/DispositionLifecycleJobExecuter.java
@@ -58,7 +58,8 @@ import org.springframework.extensions.surf.util.I18NUtil;
* @author Roy Wetherall
*/
@Slf4j
-public class DispositionLifecycleJobExecuter extends RecordsManagementJobExecuter {
+public class DispositionLifecycleJobExecuter extends RecordsManagementJobExecuter
+{
/** batching properties */
private int batchSize;
@@ -226,7 +227,8 @@ public class DispositionLifecycleJobExecuter extends RecordsManagementJobExecute
}
}
log.debug("Job Finished");
- } catch (AlfrescoRuntimeException exception)
+ }
+ catch (AlfrescoRuntimeException exception)
{
log.debug(exception.getMessage());
}
@@ -276,7 +278,8 @@ public class DispositionLifecycleJobExecuter extends RecordsManagementJobExecute
log.debug("Processed action: " + dispAction + "on" + parent);
- } catch (AlfrescoRuntimeException exception)
+ }
+ catch (AlfrescoRuntimeException exception)
{
log.debug(exception.getMessage());
diff --git a/amps/ags/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java b/amps/ags/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java
index 1226254292..94e81e8e64 100644
--- a/amps/ags/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java
+++ b/amps/ags/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java
@@ -51,215 +51,219 @@ public class FreezeServiceImplTest extends BaseRMTestCase
return true;
}
- /**
- * Test freeze service methods.
- *
- * @deprecated as of 2.2
- */
- public void testFreezeService() throws Exception
- {
+ /**
+ * Test freeze service methods.
+ *
+ * @deprecated as of 2.2
+ */
+ public void testFreezeService() throws Exception
+ {
- doTestInTransaction(new Test()
- {
- @Override
- public Void run() throws Exception
+ doTestInTransaction(new Test()
+ {
+ @Override
+ public Void run() throws Exception
+ {
+ assertTrue(recordService.isRecord(recordOne));
+ assertTrue(recordService.isRecord(recordTwo));
+ assertTrue(recordService.isRecord(recordThree));
+ assertTrue(recordService.isRecord(recordFour));
+ assertTrue(filePlanService.isFilePlanComponent(recordOne));
+ assertTrue(filePlanService.isFilePlanComponent(recordTwo));
+ assertTrue(filePlanService.isFilePlanComponent(recordThree));
+ 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));
+
+ // Check the hold exists
+ 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);
+
+ assertNotNull(frozenNodes);
+ assertEquals(1, frozenNodes.size());
+
+ // Check the nodes are frozen
+ assertTrue(freezeService.isFrozen(recordOne));
+ assertNotNull(freezeService.getFreezeDate(recordOne));
+ assertNotNull(freezeService.getFreezeInitiator(recordOne));
+ assertFalse(freezeService.isFrozen(recordTwo));
+ assertFalse(freezeService.isFrozen(recordThree));
+
+ // Update the freeze reason
+ holdService.setHoldReason(holdNodeRef, "NewFreezeReason");
+
+ // Check the hold has been updated
+ assertEquals("NewFreezeReason", holdService.getHoldReason(holdNodeRef));
+
+ // Freeze a number of records
+ 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));
+
+ // Check the holds exist
+ holdAssocs = holdService.getHolds(filePlan);
+ assertNotNull(holdAssocs);
+ assertEquals(2, holdAssocs.size());
+
+ for (NodeRef hold : holdAssocs)
{
- assertTrue(recordService.isRecord(recordOne));
- assertTrue(recordService.isRecord(recordTwo));
- assertTrue(recordService.isRecord(recordThree));
- assertTrue(recordService.isRecord(recordFour));
- assertTrue(filePlanService.isFilePlanComponent(recordOne));
- assertTrue(filePlanService.isFilePlanComponent(recordTwo));
- assertTrue(filePlanService.isFilePlanComponent(recordThree));
- 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));
-
- // Check the hold exists
- 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);
-
- assertNotNull(frozenNodes);
- assertEquals(1, frozenNodes.size());
-
- // Check the nodes are frozen
- assertTrue(freezeService.isFrozen(recordOne));
- assertNotNull(freezeService.getFreezeDate(recordOne));
- assertNotNull(freezeService.getFreezeInitiator(recordOne));
- assertFalse(freezeService.isFrozen(recordTwo));
- assertFalse(freezeService.isFrozen(recordThree));
-
- // Update the freeze reason
- holdService.setHoldReason(holdNodeRef, "NewFreezeReason");
-
- // Check the hold has been updated
- assertEquals("NewFreezeReason", holdService.getHoldReason(holdNodeRef));
-
- // Freeze a number of records
- 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));
-
- // Check the holds exist
- holdAssocs = holdService.getHolds(filePlan);
- assertNotNull(holdAssocs);
- assertEquals(2, holdAssocs.size());
-
- for (NodeRef hold : holdAssocs)
- {
- String reason = holdService.getHoldReason(hold);
- if (reason.equals("Freeze a set of nodes"))
- {
- assertEquals(newHold, hold);
- frozenNodes = holdService.getHeld(hold);
- assertNotNull(frozenNodes);
- assertEquals(3, frozenNodes.size());
- } else if (reason.equals("NewFreezeReason"))
- {
- frozenNodes = holdService.getHeld(hold);
- assertNotNull(frozenNodes);
- assertEquals(1, frozenNodes.size());
- } else
- {
- throw new AlfrescoRuntimeException("The reason '" + reason + "' was not found in the existing holds.");
- }
- }
-
- // Check the nodes are frozen
- final List testRecords = Arrays.asList(new NodeRef[] { recordOne, recordTwo, recordThree });
- for (NodeRef nr : testRecords)
- {
- assertTrue(freezeService.isFrozen(nr));
- assertNotNull(freezeService.getFreezeDate(nr));
- assertNotNull(freezeService.getFreezeInitiator(nr));
- }
-
- // Unfreeze a node
- holdService.removeFromAllHolds(recordThree);
- // Check the holds
- holdAssocs = holdService.getHolds(filePlan);
- assertNotNull(holdAssocs);
- assertEquals(2, holdAssocs.size());
- for (NodeRef hold : holdAssocs)
- {
- String reason = holdService.getHoldReason(hold);
- if (reason.equals("Freeze a set of nodes"))
- {
- frozenNodes = holdService.getHeld(hold);
- assertNotNull(frozenNodes);
- assertEquals(2, frozenNodes.size());
- } else if (reason.equals("NewFreezeReason"))
- {
- frozenNodes = holdService.getHeld(hold);
- assertNotNull(frozenNodes);
- assertEquals(1, frozenNodes.size());
- } else
- {
- throw new AlfrescoRuntimeException("The reason '" + reason + "' was not found in the existing holds.");
- }
- }
-
- // Check the nodes are frozen
- assertTrue(freezeService.isFrozen(recordOne));
- assertNotNull(freezeService.getFreezeDate(recordOne));
- assertNotNull(freezeService.getFreezeInitiator(recordOne));
- assertTrue(freezeService.isFrozen(recordTwo));
- assertNotNull(freezeService.getFreezeDate(recordTwo));
- assertNotNull(freezeService.getFreezeInitiator(recordTwo));
- assertFalse(freezeService.isFrozen(recordThree));
- assertFalse(freezeService.isFrozen(recordFour));
- return null;
+ String reason = holdService.getHoldReason(hold);
+ if (reason.equals("Freeze a set of nodes"))
+ {
+ assertEquals(newHold, hold);
+ frozenNodes = holdService.getHeld(hold);
+ assertNotNull(frozenNodes);
+ assertEquals(3, frozenNodes.size());
+ }
+ else if (reason.equals("NewFreezeReason"))
+ {
+ frozenNodes = holdService.getHeld(hold);
+ assertNotNull(frozenNodes);
+ assertEquals(1, frozenNodes.size());
+ }
+ else
+ {
+ throw new AlfrescoRuntimeException("The reason '" + reason + "' was not found in the existing holds.");
+ }
}
- });
- //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception
- doTestInTransaction(new Test()
- {
- @Override
- public Void run() throws Exception
+
+ // Check the nodes are frozen
+ final List testRecords = Arrays.asList(new NodeRef[]{recordOne, recordTwo, recordThree});
+ for (NodeRef nr : testRecords)
{
- // Relinquish the first hold
- NodeRef holdNodeRef = holdAssocs.iterator().next();
- holdService.deleteHold(holdNodeRef);
-
- // Check the existing hold
- holdAssocs = holdService.getHolds(filePlan);
- assertNotNull(holdAssocs);
- assertEquals(1, holdAssocs.size());
-
- // Relinquish the second hold
- holdNodeRef = holdAssocs.iterator().next();
- holdService.removeFromAllHolds(holdService.getHeld(holdNodeRef));
-
- // hold is not automatically removed
- holdAssocs = holdService.getHolds(filePlan);
- assertEquals(1, holdAssocs.size());
-
- // delete hold
- holdService.deleteHold(holdNodeRef);
-
- holdAssocs = holdService.getHolds(filePlan);
- assertEquals(0, holdAssocs.size());
-
- // Check the nodes are unfrozen
- assertFalse(freezeService.isFrozen(recordOne));
- assertFalse(freezeService.isFrozen(recordTwo));
- assertFalse(freezeService.isFrozen(recordThree));
- assertFalse(freezeService.isFrozen(recordFour));
- //assertFalse(freezeService.hasFrozenChildren(rmFolder));
-
- // Test freezing nodes, adding them to an existing hold
- NodeRef hold = holdService.createHold(filePlan, "hold 1", "AnotherFreezeReason", "description");
- holdService.addToHold(hold, recordFour);
- holdService.addToHold(hold, recordOne);
- List nodes = new ArrayList<>();
- nodes.add(recordTwo);
- 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;
+ assertTrue(freezeService.isFrozen(nr));
+ assertNotNull(freezeService.getFreezeDate(nr));
+ assertNotNull(freezeService.getFreezeInitiator(nr));
}
- });
- //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());
- // Check the nodes are unfrozen
- assertFalse(freezeService.isFrozen(recordOne));
- assertFalse(freezeService.isFrozen(recordTwo));
- assertFalse(freezeService.isFrozen(recordThree));
- assertFalse(freezeService.isFrozen(recordFour));
- // assertFalse(freezeService.hasFrozenChildren(rmFolder));
+ // Unfreeze a node
+ holdService.removeFromAllHolds(recordThree);
+ // Check the holds
+ holdAssocs = holdService.getHolds(filePlan);
+ assertNotNull(holdAssocs);
+ assertEquals(2, holdAssocs.size());
+ for (NodeRef hold : holdAssocs)
+ {
+ String reason = holdService.getHoldReason(hold);
+ if (reason.equals("Freeze a set of nodes"))
+ {
+ frozenNodes = holdService.getHeld(hold);
+ assertNotNull(frozenNodes);
+ assertEquals(2, frozenNodes.size());
+ }
+ else if (reason.equals("NewFreezeReason"))
+ {
+ frozenNodes = holdService.getHeld(hold);
+ assertNotNull(frozenNodes);
+ assertEquals(1, frozenNodes.size());
+ }
+ else
+ {
+ throw new AlfrescoRuntimeException("The reason '" + reason + "' was not found in the existing holds.");
+ }
+ }
+
+ // Check the nodes are frozen
+ assertTrue(freezeService.isFrozen(recordOne));
+ assertNotNull(freezeService.getFreezeDate(recordOne));
+ assertNotNull(freezeService.getFreezeInitiator(recordOne));
+ assertTrue(freezeService.isFrozen(recordTwo));
+ assertNotNull(freezeService.getFreezeDate(recordTwo));
+ 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
+ NodeRef holdNodeRef = holdAssocs.iterator().next();
+ holdService.deleteHold(holdNodeRef);
+
+ // Check the existing hold
+ holdAssocs = holdService.getHolds(filePlan);
+ assertNotNull(holdAssocs);
+ assertEquals(1, holdAssocs.size());
+
+ // Relinquish the second hold
+ holdNodeRef = holdAssocs.iterator().next();
+ holdService.removeFromAllHolds(holdService.getHeld(holdNodeRef));
+
+ // hold is not automatically removed
+ holdAssocs = holdService.getHolds(filePlan);
+ assertEquals(1, holdAssocs.size());
+
+ // delete hold
+ holdService.deleteHold(holdNodeRef);
+
+ holdAssocs = holdService.getHolds(filePlan);
+ assertEquals(0, holdAssocs.size());
+
+ // Check the nodes are unfrozen
+ assertFalse(freezeService.isFrozen(recordOne));
+ assertFalse(freezeService.isFrozen(recordTwo));
+ assertFalse(freezeService.isFrozen(recordThree));
+ assertFalse(freezeService.isFrozen(recordFour));
+ //assertFalse(freezeService.hasFrozenChildren(rmFolder));
+
+ // Test freezing nodes, adding them to an existing hold
+ NodeRef hold = holdService.createHold(filePlan, "hold 1", "AnotherFreezeReason", "description");
+ holdService.addToHold(hold, recordFour);
+ holdService.addToHold(hold, recordOne);
+ List nodes = new ArrayList<>();
+ nodes.add(recordTwo);
+ 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());
+
+ // Check the nodes are unfrozen
+ assertFalse(freezeService.isFrozen(recordOne));
+ assertFalse(freezeService.isFrozen(recordTwo));
+ assertFalse(freezeService.isFrozen(recordThree));
+ assertFalse(freezeService.isFrozen(recordFour));
+ // assertFalse(freezeService.hasFrozenChildren(rmFolder));
return null;
}