@Service(value="knownRepositoryContentConsumer#repository-purge") @Scope(value="prototype") public class RepositoryPurgeConsumer extends AbstractMonitoredConsumer implements KnownRepositoryContentConsumer, org.apache.archiva.redback.components.registry.RegistryListener
| Modifier and Type | Field and Description |
|---|---|
private RepositoryPurge |
cleanUp |
private ArchivaConfiguration |
configuration |
private boolean |
deleteReleasedSnapshots |
private String |
description
default-value="Purge repository of old snapshots"
|
private FileTypes |
filetypes |
private String |
id
default-value="repository-purge"
|
private List<String> |
includes |
private List<RepositoryListener> |
listeners |
private ManagedRepositoryAdmin |
managedRepositoryAdmin |
private MetadataTools |
metadataTools |
private RepositoryPurge |
repoPurge |
private RepositoryContentFactory |
repositoryContentFactory |
private RepositorySession |
repositorySession |
private RepositorySessionFactory |
repositorySessionFactory |
| Constructor and Description |
|---|
RepositoryPurgeConsumer() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterConfigurationChange(org.apache.archiva.redback.components.registry.Registry registry,
String propertyName,
Object propertyValue) |
void |
beforeConfigurationChange(org.apache.archiva.redback.components.registry.Registry registry,
String propertyName,
Object propertyValue) |
void |
beginScan(ManagedRepository repository,
Date whenGathered)
Event that triggers at the beginning of a scan.
|
void |
beginScan(ManagedRepository repository,
Date whenGathered,
boolean executeOnEntireRepo)
Event that triggers at the beginning of a scan, where you can also indicate whether the consumers will be
executed on an entire repository or on a specific resource.
|
void |
completeScan()
Event that triggers on the completion of a scan.
|
void |
completeScan(boolean executeOnEntireRepo) |
RepositoryPurge |
getCleanUp() |
ArchivaConfiguration |
getConfiguration() |
String |
getDescription()
The human readable description for this consumer.
|
List<String> |
getExcludes()
Get the list of excluded file patterns for this consumer.
|
FileTypes |
getFiletypes() |
String |
getId()
This is the id for the consumer.
|
List<String> |
getIncludes()
Get the list of included file patterns for this consumer.
|
MetadataTools |
getMetadataTools() |
RepositoryPurge |
getRepoPurge() |
RepositoryContentFactory |
getRepositoryContentFactory() |
RepositorySession |
getRepositorySession() |
RepositorySessionFactory |
getRepositorySessionFactory() |
void |
initialize() |
private void |
initIncludes() |
boolean |
isDeleteReleasedSnapshots() |
boolean |
isProcessUnmodified()
Whether the consumer should process files that have not been modified since the time passed in to the scan
method.
|
void |
processFile(String path)
Event indicating a file is to be processed by this consumer.
|
void |
processFile(String path,
boolean executeOnEntireRepo) |
void |
setCleanUp(RepositoryPurge cleanUp) |
void |
setConfiguration(ArchivaConfiguration configuration) |
void |
setDeleteReleasedSnapshots(boolean deleteReleasedSnapshots) |
void |
setFiletypes(FileTypes filetypes) |
void |
setMetadataTools(MetadataTools metadataTools) |
void |
setRepoPurge(RepositoryPurge repoPurge) |
void |
setRepositoryContentFactory(RepositoryContentFactory repositoryContentFactory) |
void |
setRepositorySession(RepositorySession repositorySession) |
void |
setRepositorySessionFactory(RepositorySessionFactory repositorySessionFactory) |
addConsumerMonitor, getDefaultArtifactExclusions, removeConsumerMonitor, triggerConsumerError, triggerConsumerInfo, triggerConsumerWarningclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddConsumerMonitor, removeConsumerMonitorprivate String description
@Inject @Named(value="archivaConfiguration#default") private ArchivaConfiguration configuration
@Inject private ManagedRepositoryAdmin managedRepositoryAdmin
@Inject @Named(value="repositoryContentFactory#default") private RepositoryContentFactory repositoryContentFactory
@Inject private MetadataTools metadataTools
private RepositoryPurge repoPurge
private RepositoryPurge cleanUp
private boolean deleteReleasedSnapshots
@Inject @Autowired(required=false) private List<RepositoryListener> listeners
@Inject private RepositorySessionFactory repositorySessionFactory
private RepositorySession repositorySession
public RepositoryPurgeConsumer()
public String getId()
Consumerpublic String getDescription()
ConsumergetDescription in interface Consumerpublic List<String> getExcludes()
RepositoryContentConsumergetExcludes in interface RepositoryContentConsumerString patterns. (example: "**/*.pom") - (can be null for no exclusions)public List<String> getIncludes()
RepositoryContentConsumergetIncludes in interface RepositoryContentConsumerString patterns. (example: "**/*.pom")public void beginScan(ManagedRepository repository, Date whenGathered) throws ConsumerException
RepositoryContentConsumerEvent that triggers at the beginning of a scan.
NOTE: This would be a good place to initialize the consumer, to lock any resources, and to generally start tracking the scan as a whole.
beginScan in interface RepositoryContentConsumerrepository - the repository that this consumer is being used for.whenGathered - the start of the repository scanConsumerException - if there was a problem with using the provided repository with the consumer.public void beginScan(ManagedRepository repository, Date whenGathered, boolean executeOnEntireRepo) throws ConsumerException
RepositoryContentConsumerEvent that triggers at the beginning of a scan, where you can also indicate whether the consumers will be executed on an entire repository or on a specific resource.
beginScan in interface RepositoryContentConsumerrepository - the repository that this consumer is being used for.whenGathered - the start of the repository scanexecuteOnEntireRepo - flags whether the consumer will be executed on an entire repository or just on a specific resourceConsumerException - if there was a problem with using the provided repository with the consumer.RepositoryContentConsumer.beginScan(ManagedRepository, java.util.Date)public void processFile(String path) throws ConsumerException
RepositoryContentConsumerEvent indicating a file is to be processed by this consumer.
NOTE: The consumer does not need to process the file immediately, can can opt to queue and/or track
the files to be processed in batch. Just be sure to complete the processing by the RepositoryContentConsumer.completeScan()
event.
processFile in interface RepositoryContentConsumerpath - the relative file path (in the repository) to process.ConsumerException - if there was a problem processing this file.public void processFile(String path, boolean executeOnEntireRepo) throws Exception
processFile in interface RepositoryContentConsumerpath - the relative file path (in the repository) to process.executeOnEntireRepo - flags whether the consumer will be executed on an entire repository or just on a specific resourceException - if there was a problem processing this file.public void completeScan()
RepositoryContentConsumerEvent that triggers on the completion of a scan.
NOTE: If the consumer opted to batch up processing requests in the RepositoryContentConsumer.processFile(String) event
this would be the last opportunity to drain any processing queue's.
completeScan in interface RepositoryContentConsumerpublic void completeScan(boolean executeOnEntireRepo)
completeScan in interface RepositoryContentConsumerexecuteOnEntireRepo - flags whether the consumer will be executed on an entire repository or just on a specific resourcepublic void afterConfigurationChange(org.apache.archiva.redback.components.registry.Registry registry, String propertyName, Object propertyValue)
afterConfigurationChange in interface org.apache.archiva.redback.components.registry.RegistryListenerpublic void beforeConfigurationChange(org.apache.archiva.redback.components.registry.Registry registry, String propertyName, Object propertyValue)
beforeConfigurationChange in interface org.apache.archiva.redback.components.registry.RegistryListenerprivate void initIncludes()
@PostConstruct public void initialize()
public boolean isProcessUnmodified()
RepositoryContentConsumerisProcessUnmodified in interface RepositoryContentConsumerisProcessUnmodified in class AbstractMonitoredConsumerpublic ArchivaConfiguration getConfiguration()
public void setConfiguration(ArchivaConfiguration configuration)
public RepositoryContentFactory getRepositoryContentFactory()
public void setRepositoryContentFactory(RepositoryContentFactory repositoryContentFactory)
public MetadataTools getMetadataTools()
public void setMetadataTools(MetadataTools metadataTools)
public FileTypes getFiletypes()
public void setFiletypes(FileTypes filetypes)
public RepositoryPurge getRepoPurge()
public void setRepoPurge(RepositoryPurge repoPurge)
public RepositoryPurge getCleanUp()
public void setCleanUp(RepositoryPurge cleanUp)
public boolean isDeleteReleasedSnapshots()
public void setDeleteReleasedSnapshots(boolean deleteReleasedSnapshots)
public RepositorySessionFactory getRepositorySessionFactory()
public void setRepositorySessionFactory(RepositorySessionFactory repositorySessionFactory)
public RepositorySession getRepositorySession()
public void setRepositorySession(RepositorySession repositorySession)
Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.