Configure the following components for your asset purge function. These components handle interactions between the overall asset purge feature framework and your custom asset purge functionality.
PurgeConfiguration Component
Base your PurgeConfiguration
component on the atg.purge.PurgeConfiguration
class. Configure property values to hold the Nucleus paths of your asset selection conditions, related conditions, and related actions as shown in the example configuration file below.
Note: your asset purge function may not include related conditions or related actions. If your asset purge function does not include related conditions or related actions, omit the relatedConditions
property.
$class=atg.purge.PurgeConfiguration # The Nucleus paths of your asset selection conditions # See Configuring Asset Condition Components. predefinedConditions=/mycompany/purge/condition/MyCondition # The Nucleus paths of your related conditions and related actions # See Configuring Related Condition Components and # Configuring Related Action Components. relatedConditions=/mycompany/purge/condition/MyRelatedCondition,\ /mycompany/purge/condition/MyRelatedAction
ProcessConfiguration Component
Base your ProcessConfiguration
component on the atg.purge.ProcessConfiguration
class. Configure the stopOnError
property value as shown in the example configuration file below.
$class=atg.purge.ProcessConfiguration # Controls whether the asset purge function will stop processing repository # items if it encounters an error. See Asset Purge Error Handling. stopOnError=false
Set the stopOnError
property to true
or false
based on the nature of your asset purge function.
PipelinePurgeHandler Component
Base your PipelinePurgeHandler
component on the atg.purge.handler.PipelinePurgeHandler
class. Configure property values to hold the Nucleus path to the PipelineManager
component and the name of your asset purge function pipeline chain as shown in the example configuration file below.
$class=atg.purge.handler.PipelinePurgeHandler pipelineManager=/atg/purge/pipeline/PipelineManager # The name attribute of the pipelinechain element in your XML # asset purge pipeline configuration file. pipelineChainId=organizationPurge
CanPurgeProcessor Component
The CanPurgeProcessor
component is one of the processors in the asset purge processor pipeline. It handles each repository item that passes through the pipeline and determines whether the asset purge function attempts to delete it.
If you do not configure any related conditions for your asset purge function, base your CanPurgeProcessor
component on the atg.purge.pipeline.processor.CanPurgeProcessor
class. Your CanPurgeProcessor
component always determines that repository items should be deleted because the CanPurgeProcessor.canPurge
method always returns true
.
When you configure related conditions, base your CanPurgeProcessor
component on a subclass of atg.purge.pipeline.processor.CanPurgeProcessor
and override the canPurge
method. Include your own logic for determining whether a repository item should be deleted. See Configuring Related Condition Components.
The following example configures a CanPurgeProcessor
component for an asset purge function that does not include related conditions.
$class=atg.purge.pipeline.processor.CanPurgeProcessor # Components based on the CanPurgeProcessor class do not require # property configuration
The following example configures a CanPurgeProcessor
component for an asset purge function that does include related conditions.
$class=mycompany.MyNewCanPurgeProcessor # Configure any properties that are required by your custom # implementation of the canPurge method. For example, your # custom implementation might need properties like these: repository=/atg/userprofiling/ProfileAdapterRepository orderQueries=/atg/commerce/order/OrderQueries
RepositoryItemPurgeProcessor Component
Base your RepositoryItemPurgeProcessor
component on the atg.purge.pipeline.processor.RepositoryItemPurgeProcessor
class. Configure property values to hold the Nucleus path and item type of the repository items that your asset purge function deletes as shown in the example configuration file below.
$class=atg.purge.pipeline.processor.RepositoryItemPurgeProcessor # The Nucleus path of the repository component that holds the repository items # that your asset purge function will delete # See Repository Path and Item Descriptor. repository=/atg/userprofiling/ProfileAdapterRepository # The type of repository item that your asset purge function will delete # See Repository Path and Item Descriptor. itemDescriptorName=organization
PurgeExecutor Component
Base your PurgeExecutor
component on the atg.purge.PurgeExecutor
class. Configure property values to hold the Nucleus paths to other components and to set the number of simultaneous threads as shown in the example configuration file below.
$class=atg.purge.PurgeExecutor # The Nucleus path to the PipelinePurgeHandler component for your asset # purge function. See PipelinePurgeHandler Component. purgeHandler=/mycompany/purge/handler/OrganizationPurgeHandler # The Nucleus path to the ProcessConfiguration component for your asset # purge function. See ProcessConfiguration Component. processConfiguration=/mycompany/purge/OrganizationPurgeProcessConfiguration # The Nucleus path to the TransactionManager component transactionManager=/atg/dynamo/transaction/TransactionManager # The number of simultaneous threads of execution used for your asset # purge function. See Throttling and Performance. threadPoolSize=1
PurgeProducer Component
Base your PurgeProducer
component on the atg.purge.PurgeProducer
class. Configure property values to hold the Nucleus paths to other components and the repository item type that your asset purge function deletes as shown in the example configuration file below.
$class=atg.purge.PurgeProducer # The Nucleus path of the PurgeExecutor component for your asset purge # function. See PurgeExecutor Component. purgeExecutor=/mycompany/purge/OrganizationPurgeExecutor # The Nucleus path of the PurgeProgressTools component purgeProgressTools=/atg/purge/PurgeProgressTools # The Nucleus path of the TransactionManager component transactionManager=/atg/dynamo/transaction/TransactionManager # The Nucleus path of the repository component that holds the repository items # that your asset purge function will delete # See Repository Path and Item Descriptor. repository=/atg/userprofiling/ProfileAdapterRepository # The type of repository item that your asset purge function will delete # See Repository Path and Item Descriptor. itemDescriptorName=organization # The Nucleus path of the PurgeConfiguration component for your asset # purge function. See PurgeConfiguration Component. purgeConfiguration=/mycompany/purge/OrganizationPurgeConfiguration # The Nucleus path of the ProcessConfiguration component for your asset # purge function. See ProcessConfiguration Component. processConfiguration=/mycompany/purge/OrganizationPurgeProcessConfiguration