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

Copyright © 1997, 2015 Oracle and/or its affiliates. All rights reserved. Legal Notices