mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Transaction cache on BaseEvaluator.evaluate method
This commit is contained in:
@@ -38,6 +38,7 @@
|
|||||||
<property name="filePlanService" ref="FilePlanService" />
|
<property name="filePlanService" ref="FilePlanService" />
|
||||||
<property name="dispositionService" ref="DispositionService" />
|
<property name="dispositionService" ref="DispositionService" />
|
||||||
<property name="recordFolderService" ref="RecordFolderService" />
|
<property name="recordFolderService" ref="RecordFolderService" />
|
||||||
|
<property name="transactionalResourceHelper" ref="rm.transactionalResourceHelper" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="jsonConversionComponent.baseIndicator"
|
<bean id="jsonConversionComponent.baseIndicator"
|
||||||
|
@@ -40,6 +40,7 @@ import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
|||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
|
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.util.TransactionalResourceHelper;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.security.AccessStatus;
|
import org.alfresco.service.cmr.security.AccessStatus;
|
||||||
@@ -85,6 +86,9 @@ public abstract class BaseEvaluator implements RecordsManagementModel
|
|||||||
/** Record folder service */
|
/** Record folder service */
|
||||||
protected RecordFolderService recordFolderService;
|
protected RecordFolderService recordFolderService;
|
||||||
|
|
||||||
|
/** transactional resource helper */
|
||||||
|
protected TransactionalResourceHelper transactionalResourceHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param jsonConversionComponent json conversion component
|
* @param jsonConversionComponent json conversion component
|
||||||
*/
|
*/
|
||||||
@@ -149,6 +153,14 @@ public abstract class BaseEvaluator implements RecordsManagementModel
|
|||||||
this.recordFolderService = recordFolderService;
|
this.recordFolderService = recordFolderService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param transactionalResourceHelper transactional resource helper
|
||||||
|
*/
|
||||||
|
public void setTransactionalResourceHelper(TransactionalResourceHelper transactionalResourceHelper)
|
||||||
|
{
|
||||||
|
this.transactionalResourceHelper = transactionalResourceHelper;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param name
|
* @param name
|
||||||
*/
|
*/
|
||||||
@@ -217,17 +229,24 @@ public abstract class BaseEvaluator implements RecordsManagementModel
|
|||||||
*/
|
*/
|
||||||
public boolean evaluate(NodeRef nodeRef)
|
public boolean evaluate(NodeRef nodeRef)
|
||||||
{
|
{
|
||||||
boolean result = false;
|
Map<NodeRef, Boolean> results = transactionalResourceHelper.getMap("BaseEvaluator.evaluate");
|
||||||
|
|
||||||
// Check that we are dealing with the correct kind of RM object
|
if (!results.containsKey(nodeRef))
|
||||||
if ((kinds == null || checkKinds(nodeRef)) &&
|
|
||||||
// Check we have the required capabilities
|
|
||||||
(capabilities == null || checkCapabilities(nodeRef)))
|
|
||||||
{
|
{
|
||||||
result = evaluateImpl(nodeRef);
|
boolean result = false;
|
||||||
|
|
||||||
|
// Check that we are dealing with the correct kind of RM object
|
||||||
|
if ((kinds == null || checkKinds(nodeRef)) &&
|
||||||
|
// Check we have the required capabilities
|
||||||
|
(capabilities == null || checkCapabilities(nodeRef)))
|
||||||
|
{
|
||||||
|
result = evaluateImpl(nodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
results.put(nodeRef, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return results.get(nodeRef);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user