mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-6941 added slf4j and test [ags]
This commit is contained in:
@@ -144,7 +144,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.projectlombok</groupId>
|
<groupId>org.projectlombok</groupId>
|
||||||
<artifactId>lombok</artifactId>
|
<artifactId>lombok</artifactId>
|
||||||
<scope>compile</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
@@ -84,24 +84,11 @@ public class RecordsManagementActionServiceImpl implements RecordsManagementActi
|
|||||||
*/
|
*/
|
||||||
private FreezeService freezeService;
|
private FreezeService freezeService;
|
||||||
|
|
||||||
/**
|
|
||||||
* @param freezeService freeze service
|
|
||||||
*/
|
|
||||||
public void setFreezeService(FreezeService freezeService)
|
|
||||||
{
|
|
||||||
this.freezeService = freezeService;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* list of retention actions to automatically execute
|
* list of retention actions to automatically execute
|
||||||
*/
|
*/
|
||||||
private List<String> retentionActions;
|
private List<String> retentionActions;
|
||||||
|
|
||||||
public void setRetentionActions(List<String> retentionActions)
|
|
||||||
{
|
|
||||||
this.retentionActions = retentionActions;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Policy component
|
* @return Policy component
|
||||||
*/
|
*/
|
||||||
@@ -118,6 +105,19 @@ public class RecordsManagementActionServiceImpl implements RecordsManagementActi
|
|||||||
return this.nodeService;
|
return this.nodeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param freezeService freeze service
|
||||||
|
*/
|
||||||
|
public void setFreezeService(FreezeService freezeService)
|
||||||
|
{
|
||||||
|
this.freezeService = freezeService;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRetentionActions(List<String> retentionActions)
|
||||||
|
{
|
||||||
|
this.retentionActions = retentionActions;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the policy component
|
* Set the policy component
|
||||||
*
|
*
|
||||||
@@ -336,7 +336,8 @@ public class RecordsManagementActionServiceImpl implements RecordsManagementActi
|
|||||||
String msg = I18NUtil.getMessage(MSG_NO_IMPLICIT_NODEREF, name);
|
String msg = I18NUtil.getMessage(MSG_NO_IMPLICIT_NODEREF, name);
|
||||||
log.warn(msg);
|
log.warn(msg);
|
||||||
throw new AlfrescoRuntimeException(msg);
|
throw new AlfrescoRuntimeException(msg);
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
return this.executeRecordsManagementAction(implicitTargetNode, name, parameters);
|
return this.executeRecordsManagementAction(implicitTargetNode, name, parameters);
|
||||||
}
|
}
|
||||||
|
@@ -288,5 +288,4 @@ public interface DispositionService
|
|||||||
* @param record
|
* @param record
|
||||||
*/
|
*/
|
||||||
void recalculateNextDispositionStep(NodeRef record);
|
void recalculateNextDispositionStep(NodeRef record);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -66,15 +66,21 @@ import org.springframework.extensions.surf.util.I18NUtil;
|
|||||||
*/
|
*/
|
||||||
public class FreezeServiceImpl extends ServiceBaseImpl
|
public class FreezeServiceImpl extends ServiceBaseImpl
|
||||||
implements FreezeService,
|
implements FreezeService,
|
||||||
RecordsManagementModel
|
RecordsManagementModel
|
||||||
{
|
{
|
||||||
/** I18N */
|
/**
|
||||||
|
* I18N
|
||||||
|
*/
|
||||||
private static final String MSG_HOLD_NAME = "rm.hold.name";
|
private static final String MSG_HOLD_NAME = "rm.hold.name";
|
||||||
|
|
||||||
/** File Plan Service */
|
/**
|
||||||
|
* File Plan Service
|
||||||
|
*/
|
||||||
private FilePlanService filePlanService;
|
private FilePlanService filePlanService;
|
||||||
|
|
||||||
/** Hold service */
|
/**
|
||||||
|
* Hold service
|
||||||
|
*/
|
||||||
private HoldService holdService;
|
private HoldService holdService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -90,42 +96,48 @@ public class FreezeServiceImpl extends ServiceBaseImpl
|
|||||||
/**
|
/**
|
||||||
* @param recordFolderService record folder service
|
* @param recordFolderService record folder service
|
||||||
*/
|
*/
|
||||||
public void setRecordFolderService(RecordFolderService recordFolderService) {
|
public void setRecordFolderService(RecordFolderService recordFolderService)
|
||||||
|
{
|
||||||
this.recordFolderService = recordFolderService;
|
this.recordFolderService = recordFolderService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param recordService record service
|
* @param recordService record service
|
||||||
*/
|
*/
|
||||||
public void setRecordService(RecordService recordService) {
|
public void setRecordService(RecordService recordService)
|
||||||
|
{
|
||||||
this.recordService = recordService;
|
this.recordService = recordService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return File plan service
|
* @return File plan service
|
||||||
*/
|
*/
|
||||||
protected FilePlanService getFilePlanService() {
|
protected FilePlanService getFilePlanService()
|
||||||
|
{
|
||||||
return this.filePlanService;
|
return this.filePlanService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Hold service
|
* @return Hold service
|
||||||
*/
|
*/
|
||||||
protected HoldService getHoldService() {
|
protected HoldService getHoldService()
|
||||||
|
{
|
||||||
return this.holdService;
|
return this.holdService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param filePlanService file plan service
|
* @param filePlanService file plan service
|
||||||
*/
|
*/
|
||||||
public void setFilePlanService(FilePlanService filePlanService) {
|
public void setFilePlanService(FilePlanService filePlanService)
|
||||||
|
{
|
||||||
this.filePlanService = filePlanService;
|
this.filePlanService = filePlanService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param holdService hold service
|
* @param holdService hold service
|
||||||
*/
|
*/
|
||||||
public void setHoldService(HoldService holdService) {
|
public void setHoldService(HoldService holdService)
|
||||||
|
{
|
||||||
this.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)
|
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#isFrozen(org.alfresco.service.cmr.repository.NodeRef)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean isFrozen(NodeRef nodeRef) {
|
public boolean isFrozen(NodeRef nodeRef)
|
||||||
|
{
|
||||||
ParameterCheck.mandatory("nodeRef", nodeRef);
|
ParameterCheck.mandatory("nodeRef", nodeRef);
|
||||||
|
|
||||||
return nodeService.hasAspect(nodeRef, ASPECT_FROZEN);
|
return nodeService.hasAspect(nodeRef, ASPECT_FROZEN);
|
||||||
@@ -148,17 +161,19 @@ public class FreezeServiceImpl extends ServiceBaseImpl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public Set<NodeRef> getFrozen(NodeRef hold) {
|
public Set<NodeRef> getFrozen(NodeRef hold)
|
||||||
|
{
|
||||||
return new HashSet<>(getHoldService().getHeld(hold));
|
return new HashSet<>(getHoldService().getHeld(hold));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#freeze(java.lang.String,
|
* @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
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public NodeRef freeze(String reason, NodeRef nodeRef) {
|
public NodeRef freeze(String reason, NodeRef nodeRef)
|
||||||
|
{
|
||||||
NodeRef hold = createHold(nodeRef, reason);
|
NodeRef hold = createHold(nodeRef, reason);
|
||||||
getHoldService().addToHold(hold, nodeRef);
|
getHoldService().addToHold(hold, nodeRef);
|
||||||
return hold;
|
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,
|
* @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
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void freeze(NodeRef hold, NodeRef nodeRef) {
|
public void freeze(NodeRef hold, NodeRef nodeRef)
|
||||||
|
{
|
||||||
ParameterCheck.mandatory("hold", hold);
|
ParameterCheck.mandatory("hold", hold);
|
||||||
ParameterCheck.mandatory("nodeRef", nodeRef);
|
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,
|
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#freeze(java.lang.String,
|
||||||
* java.util.Set)
|
* java.util.Set)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public NodeRef freeze(String reason, Set<NodeRef> nodeRefs) {
|
public NodeRef freeze(String reason, Set<NodeRef> nodeRefs)
|
||||||
|
{
|
||||||
NodeRef hold = null;
|
NodeRef hold = null;
|
||||||
if (!nodeRefs.isEmpty()) {
|
if (!nodeRefs.isEmpty())
|
||||||
|
{
|
||||||
final List<NodeRef> list = new ArrayList<>(nodeRefs);
|
final List<NodeRef> list = new ArrayList<>(nodeRefs);
|
||||||
hold = createHold(list.get(0), reason);
|
hold = createHold(list.get(0), reason);
|
||||||
getHoldService().addToHold(hold, list);
|
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,
|
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#freeze(org.alfresco.service.cmr.repository.NodeRef,
|
||||||
* java.util.Set)
|
* java.util.Set)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void freeze(NodeRef hold, Set<NodeRef> nodeRefs) {
|
public void freeze(NodeRef hold, Set<NodeRef> nodeRefs)
|
||||||
|
{
|
||||||
ParameterCheck.mandatory("hold", hold);
|
ParameterCheck.mandatory("hold", hold);
|
||||||
ParameterCheck.mandatoryCollection("nodeRefs", nodeRefs);
|
ParameterCheck.mandatoryCollection("nodeRefs", nodeRefs);
|
||||||
|
|
||||||
for (NodeRef nodeRef : nodeRefs) {
|
for (NodeRef nodeRef : nodeRefs)
|
||||||
|
{
|
||||||
freeze(hold, nodeRef);
|
freeze(hold, nodeRef);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -213,9 +233,11 @@ public class FreezeServiceImpl extends ServiceBaseImpl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void unFreeze(NodeRef nodeRef) {
|
public void unFreeze(NodeRef nodeRef)
|
||||||
|
{
|
||||||
List<NodeRef> holds = getHoldService().heldBy(nodeRef, true);
|
List<NodeRef> holds = getHoldService().heldBy(nodeRef, true);
|
||||||
for (NodeRef hold : holds) {
|
for (NodeRef hold : holds)
|
||||||
|
{
|
||||||
getHoldService().removeFromHold(hold, nodeRef);
|
getHoldService().removeFromHold(hold, nodeRef);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -225,10 +247,12 @@ public class FreezeServiceImpl extends ServiceBaseImpl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void unFreeze(Set<NodeRef> nodeRefs) {
|
public void unFreeze(Set<NodeRef> nodeRefs)
|
||||||
|
{
|
||||||
ParameterCheck.mandatoryCollection("nodeRefs", nodeRefs);
|
ParameterCheck.mandatoryCollection("nodeRefs", nodeRefs);
|
||||||
|
|
||||||
for (NodeRef nodeRef : nodeRefs) {
|
for (NodeRef nodeRef : nodeRefs)
|
||||||
|
{
|
||||||
unFreeze(nodeRef);
|
unFreeze(nodeRef);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -238,7 +262,8 @@ public class FreezeServiceImpl extends ServiceBaseImpl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void relinquish(NodeRef hold) {
|
public void relinquish(NodeRef hold)
|
||||||
|
{
|
||||||
getHoldService().deleteHold(hold);
|
getHoldService().deleteHold(hold);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,17 +272,19 @@ public class FreezeServiceImpl extends ServiceBaseImpl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public String getReason(NodeRef hold) {
|
public String getReason(NodeRef hold)
|
||||||
|
{
|
||||||
return getHoldService().getHoldReason(hold);
|
return getHoldService().getHoldReason(hold);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#updateReason(org.alfresco.service.cmr.repository.NodeRef,
|
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#updateReason(org.alfresco.service.cmr.repository.NodeRef,
|
||||||
* java.lang.String)
|
* java.lang.String)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void updateReason(NodeRef hold, String reason) {
|
public void updateReason(NodeRef hold, String reason)
|
||||||
|
{
|
||||||
getHoldService().setHoldReason(hold, 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)
|
* @see org.alfresco.module.org_alfresco_module_rm.hold.HoldService#getHolds(NodeRef)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Set<NodeRef> getHolds(NodeRef filePlan) {
|
public Set<NodeRef> getHolds(NodeRef filePlan)
|
||||||
|
{
|
||||||
ParameterCheck.mandatory("filePlan", filePlan);
|
ParameterCheck.mandatory("filePlan", filePlan);
|
||||||
|
|
||||||
return new HashSet<>(getHoldService().getHolds(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)
|
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#hasFrozenChildren(org.alfresco.service.cmr.repository.NodeRef)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean hasFrozenChildren(final NodeRef nodeRef) {
|
public boolean hasFrozenChildren(final NodeRef nodeRef)
|
||||||
|
{
|
||||||
ParameterCheck.mandatory("nodeRef", nodeRef);
|
ParameterCheck.mandatory("nodeRef", nodeRef);
|
||||||
|
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
|
|
||||||
// check that we are dealing with a record folder or a collaboration folder
|
// check that we are dealing with a record folder or a collaboration folder
|
||||||
if (isRecordFolder(nodeRef) ||
|
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;
|
int heldCount = 0;
|
||||||
|
|
||||||
if (nodeService.hasAspect(nodeRef, ASPECT_HELD_CHILDREN)) {
|
if (nodeService.hasAspect(nodeRef, ASPECT_HELD_CHILDREN))
|
||||||
heldCount = (Integer) getInternalNodeService().getProperty(nodeRef, PROP_HELD_CHILDREN_COUNT);
|
{
|
||||||
} else {
|
heldCount = (Integer)getInternalNodeService().getProperty(nodeRef, PROP_HELD_CHILDREN_COUNT);
|
||||||
final TransactionService transactionService = (TransactionService) applicationContext.getBean("transactionService");
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final TransactionService transactionService = (TransactionService)applicationContext.getBean("transactionService");
|
||||||
|
|
||||||
heldCount = AuthenticationUtil.runAsSystem(new RunAsWork<Integer>() {
|
heldCount = AuthenticationUtil.runAsSystem(new RunAsWork<Integer>()
|
||||||
|
{
|
||||||
@Override
|
@Override
|
||||||
public Integer doWork() {
|
public Integer doWork()
|
||||||
return transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Integer>() {
|
{
|
||||||
public Integer execute() throws Throwable {
|
return transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Integer>()
|
||||||
int heldCount = 0;
|
{
|
||||||
|
public Integer execute() throws Throwable
|
||||||
|
{
|
||||||
|
int heldCount = 0;
|
||||||
|
|
||||||
// NOTE: this process remains to 'patch' older systems to improve performance next time around
|
// NOTE: this process remains to 'patch' older systems to improve performance next time around
|
||||||
List<ChildAssociationRef> childAssocs = getInternalNodeService().getChildAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, null);
|
List<ChildAssociationRef> childAssocs = getInternalNodeService().getChildAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, null);
|
||||||
if (childAssocs != null && !childAssocs.isEmpty()) {
|
if (childAssocs != null && !childAssocs.isEmpty())
|
||||||
for (ChildAssociationRef childAssociationRef : childAssocs) {
|
{
|
||||||
final NodeRef childRef = childAssociationRef.getChildRef();
|
for (ChildAssociationRef childAssociationRef : childAssocs)
|
||||||
if (childAssociationRef.isPrimary() && isFrozen(childRef)) {
|
{
|
||||||
heldCount++;
|
final NodeRef childRef = childAssociationRef.getChildRef();
|
||||||
}
|
if (childAssociationRef.isPrimary() && isFrozen(childRef))
|
||||||
}
|
{
|
||||||
}
|
heldCount ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// add aspect and set count
|
// add aspect and set count
|
||||||
Map<QName, Serializable> props = new HashMap<>(1);
|
Map<QName, Serializable> props = new HashMap<>(1);
|
||||||
props.put(PROP_HELD_CHILDREN_COUNT, heldCount);
|
props.put(PROP_HELD_CHILDREN_COUNT, heldCount);
|
||||||
getInternalNodeService().addAspect(nodeRef, ASPECT_HELD_CHILDREN, props);
|
getInternalNodeService().addAspect(nodeRef, ASPECT_HELD_CHILDREN, props);
|
||||||
|
|
||||||
return heldCount;
|
return heldCount;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
false, true);
|
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)
|
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#getFreezeDate(org.alfresco.service.cmr.repository.NodeRef)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Date getFreezeDate(NodeRef nodeRef) {
|
public Date getFreezeDate(NodeRef nodeRef)
|
||||||
|
{
|
||||||
ParameterCheck.mandatory("nodeRef", nodeRef);
|
ParameterCheck.mandatory("nodeRef", nodeRef);
|
||||||
|
|
||||||
if (isFrozen(nodeRef)) {
|
if (isFrozen(nodeRef))
|
||||||
|
{
|
||||||
Serializable property = nodeService.getProperty(nodeRef, PROP_FROZEN_AT);
|
Serializable property = nodeService.getProperty(nodeRef, PROP_FROZEN_AT);
|
||||||
if (property != null) {
|
if (property != null)
|
||||||
|
{
|
||||||
return (Date) property;
|
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)
|
* @see org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService#getFreezeInitiator(org.alfresco.service.cmr.repository.NodeRef)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getFreezeInitiator(NodeRef nodeRef) {
|
public String getFreezeInitiator(NodeRef nodeRef)
|
||||||
|
{
|
||||||
ParameterCheck.mandatory("nodeRef", nodeRef);
|
ParameterCheck.mandatory("nodeRef", nodeRef);
|
||||||
|
|
||||||
if (isFrozen(nodeRef)) {
|
if (isFrozen(nodeRef))
|
||||||
|
{
|
||||||
Serializable property = nodeService.getProperty(nodeRef, PROP_FROZEN_BY);
|
Serializable property = nodeService.getProperty(nodeRef, PROP_FROZEN_BY);
|
||||||
if (property != null) {
|
if (property != null)
|
||||||
|
{
|
||||||
return (String) property;
|
return (String) property;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -370,10 +416,11 @@ public class FreezeServiceImpl extends ServiceBaseImpl
|
|||||||
* Creates a hold using the given nodeRef and reason
|
* Creates a hold using the given nodeRef and reason
|
||||||
*
|
*
|
||||||
* @param nodeRef the nodeRef which will be frozen
|
* @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
|
* @return NodeRef of the created hold
|
||||||
*/
|
*/
|
||||||
private NodeRef createHold(NodeRef nodeRef, String reason) {
|
private NodeRef createHold(NodeRef nodeRef, String reason)
|
||||||
|
{
|
||||||
// get the hold container
|
// get the hold container
|
||||||
final NodeRef filePlan = getFilePlanService().getFilePlan(nodeRef);
|
final NodeRef filePlan = getFilePlanService().getFilePlan(nodeRef);
|
||||||
NodeRef holdContainer = getFilePlanService().getHoldContainer(filePlan);
|
NodeRef holdContainer = getFilePlanService().getHoldContainer(filePlan);
|
||||||
|
@@ -58,7 +58,8 @@ import org.springframework.extensions.surf.util.I18NUtil;
|
|||||||
* @author Roy Wetherall
|
* @author Roy Wetherall
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class DispositionLifecycleJobExecuter extends RecordsManagementJobExecuter {
|
public class DispositionLifecycleJobExecuter extends RecordsManagementJobExecuter
|
||||||
|
{
|
||||||
|
|
||||||
/** batching properties */
|
/** batching properties */
|
||||||
private int batchSize;
|
private int batchSize;
|
||||||
@@ -226,7 +227,8 @@ public class DispositionLifecycleJobExecuter extends RecordsManagementJobExecute
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.debug("Job Finished");
|
log.debug("Job Finished");
|
||||||
} catch (AlfrescoRuntimeException exception)
|
}
|
||||||
|
catch (AlfrescoRuntimeException exception)
|
||||||
{
|
{
|
||||||
log.debug(exception.getMessage());
|
log.debug(exception.getMessage());
|
||||||
}
|
}
|
||||||
@@ -276,7 +278,8 @@ public class DispositionLifecycleJobExecuter extends RecordsManagementJobExecute
|
|||||||
|
|
||||||
log.debug("Processed action: " + dispAction + "on" + parent);
|
log.debug("Processed action: " + dispAction + "on" + parent);
|
||||||
|
|
||||||
} catch (AlfrescoRuntimeException exception)
|
}
|
||||||
|
catch (AlfrescoRuntimeException exception)
|
||||||
{
|
{
|
||||||
log.debug(exception.getMessage());
|
log.debug(exception.getMessage());
|
||||||
|
|
||||||
|
@@ -51,215 +51,219 @@ public class FreezeServiceImplTest extends BaseRMTestCase
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test freeze service methods.
|
* Test freeze service methods.
|
||||||
*
|
*
|
||||||
* @deprecated as of 2.2
|
* @deprecated as of 2.2
|
||||||
*/
|
*/
|
||||||
public void testFreezeService() throws Exception
|
public void testFreezeService() throws Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
doTestInTransaction(new Test<Void>()
|
doTestInTransaction(new Test<Void>()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public Void run() throws Exception
|
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<NodeRef> 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<NodeRef> 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));
|
String reason = holdService.getHoldReason(hold);
|
||||||
assertTrue(recordService.isRecord(recordTwo));
|
if (reason.equals("Freeze a set of nodes"))
|
||||||
assertTrue(recordService.isRecord(recordThree));
|
{
|
||||||
assertTrue(recordService.isRecord(recordFour));
|
assertEquals(newHold, hold);
|
||||||
assertTrue(filePlanService.isFilePlanComponent(recordOne));
|
frozenNodes = holdService.getHeld(hold);
|
||||||
assertTrue(filePlanService.isFilePlanComponent(recordTwo));
|
assertNotNull(frozenNodes);
|
||||||
assertTrue(filePlanService.isFilePlanComponent(recordThree));
|
assertEquals(3, frozenNodes.size());
|
||||||
assertTrue(filePlanService.isFilePlanComponent(recordFour));
|
}
|
||||||
|
else if (reason.equals("NewFreezeReason"))
|
||||||
// Freeze a record
|
{
|
||||||
NodeRef hold101 = holdService.createHold(filePlan, "freezename 101", "FreezeReason", null);
|
frozenNodes = holdService.getHeld(hold);
|
||||||
|
assertNotNull(frozenNodes);
|
||||||
assertNotNull(hold101);
|
assertEquals(1, frozenNodes.size());
|
||||||
holdService.addToHold(hold101, recordOne);
|
}
|
||||||
|
else
|
||||||
//assertTrue(freezeService.hasFrozenChildren(rmFolder));
|
{
|
||||||
|
throw new AlfrescoRuntimeException("The reason '" + reason + "' was not found in the existing holds.");
|
||||||
// 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<NodeRef> 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<NodeRef> 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<NodeRef> 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;
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
//Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception
|
// Check the nodes are frozen
|
||||||
doTestInTransaction(new Test<Void>()
|
final List<NodeRef> testRecords = Arrays.asList(new NodeRef[]{recordOne, recordTwo, recordThree});
|
||||||
{
|
for (NodeRef nr : testRecords)
|
||||||
@Override
|
|
||||||
public Void run() throws Exception
|
|
||||||
{
|
{
|
||||||
// Relinquish the first hold
|
assertTrue(freezeService.isFrozen(nr));
|
||||||
NodeRef holdNodeRef = holdAssocs.iterator().next();
|
assertNotNull(freezeService.getFreezeDate(nr));
|
||||||
holdService.deleteHold(holdNodeRef);
|
assertNotNull(freezeService.getFreezeInitiator(nr));
|
||||||
|
|
||||||
// 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<NodeRef> 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<Void>()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public Void run() throws Exception
|
|
||||||
{
|
|
||||||
// Relinquish the first hold
|
|
||||||
holdService.deleteHold(holdAssocs.iterator().next());
|
|
||||||
|
|
||||||
// Check the nodes are unfrozen
|
// Unfreeze a node
|
||||||
assertFalse(freezeService.isFrozen(recordOne));
|
holdService.removeFromAllHolds(recordThree);
|
||||||
assertFalse(freezeService.isFrozen(recordTwo));
|
// Check the holds
|
||||||
assertFalse(freezeService.isFrozen(recordThree));
|
holdAssocs = holdService.getHolds(filePlan);
|
||||||
assertFalse(freezeService.isFrozen(recordFour));
|
assertNotNull(holdAssocs);
|
||||||
// assertFalse(freezeService.hasFrozenChildren(rmFolder));
|
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<Void>()
|
||||||
|
{
|
||||||
|
@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<NodeRef> 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<Void>()
|
||||||
|
{
|
||||||
|
@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;
|
return null;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user