APPS-659 : [Upgrade] Search Result points to incorrect link to Folder on Hold

--disable behaviours
This commit is contained in:
estan
2020-12-15 22:40:27 +02:00
parent a51c1c91c7
commit c5db115320
2 changed files with 32 additions and 8 deletions

View File

@@ -10,9 +10,9 @@
parent="rm.parentModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.v34.RMv34HoldNewChildAssocPatch">
<property name="description" value="Create new hold child association to link the record to the hold"/>
<property name="fixesFromSchema" value="2400" />
<property name="fixesToSchema" value="3200"/>
<property name="targetSchema" value="3410"/>
<property name="fixesFromSchema" value="3201" />
<property name="fixesToSchema" value="3410"/>
<property name="behaviourFilter" ref="policyBehaviourFilter" />
<property name="filePlanService" ref="filePlanService" />
<property name="holdService" ref="holdService" />
<property name="nodeService" ref="nodeService" />

View File

@@ -26,9 +26,11 @@
*/
package org.alfresco.module.org_alfresco_module_rm.patch.v34;
import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.hold.HoldService;
import org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch;
import org.alfresco.repo.policy.BehaviourFilter;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -58,6 +60,8 @@ public class RMv34HoldNewChildAssocPatch extends AbstractModulePatch
*/
private NodeService nodeService;
private BehaviourFilter behaviourFilter;
/**
* Setter for fileplanservice
* @param filePlanService File plan service interface
@@ -85,19 +89,39 @@ public class RMv34HoldNewChildAssocPatch extends AbstractModulePatch
this.nodeService = nodeService;
}
public BehaviourFilter getBehaviourFilter()
{
return behaviourFilter;
}
public void setBehaviourFilter(BehaviourFilter behaviourFilter)
{
this.behaviourFilter = behaviourFilter;
}
@Override
public void applyInternal()
{
for (NodeRef filePlan : filePlanService.getFilePlans())
behaviourFilter.disableBehaviour(ContentModel.ASPECT_AUDITABLE);
behaviourFilter.disableBehaviour(ContentModel.ASPECT_VERSIONABLE);
try
{
for (NodeRef hold : holdService.getHolds(filePlan))
for (NodeRef filePlan : filePlanService.getFilePlans())
{
for (ChildAssociationRef ref : nodeService.getChildAssocs(hold))
for (NodeRef hold : holdService.getHolds(filePlan))
{
holdService.removeFromHold(hold, ref.getChildRef());
holdService.addToHold(hold, ref.getChildRef());
for (ChildAssociationRef ref : nodeService.getChildAssocs(hold))
{
holdService.removeFromHold(hold, ref.getChildRef());
holdService.addToHold(hold, ref.getChildRef());
}
}
}
}
finally
{
behaviourFilter.enableBehaviour(ContentModel.ASPECT_AUDITABLE);
behaviourFilter.enableBehaviour(ContentModel.ASPECT_VERSIONABLE);
}
}
}