org.apache.archiva.consumers.core
Class ArtifactMissingChecksumsConsumer

java.lang.Object
  extended by org.apache.archiva.consumers.AbstractMonitoredConsumer
      extended by org.apache.archiva.consumers.core.ArtifactMissingChecksumsConsumer
All Implemented Interfaces:
Consumer, KnownRepositoryContentConsumer, RepositoryContentConsumer, org.apache.archiva.redback.components.registry.RegistryListener

@Service(value="knownRepositoryContentConsumer#create-missing-checksums")
@Scope(value="prototype")
public class ArtifactMissingChecksumsConsumer
extends AbstractMonitoredConsumer
implements KnownRepositoryContentConsumer, org.apache.archiva.redback.components.registry.RegistryListener

ArtifactMissingChecksumsConsumer - Create missing and/or fix invalid checksums for the artifact.


Field Summary
private  ChecksummedFile checksum
           
private  ArchivaConfiguration configuration
           
private  String description
           
private  FileTypes filetypes
           
private  String id
           
private  List<String> includes
           
private  File repositoryDir
           
private static String TYPE_CHECKSUM_CANNOT_CALC
           
private static String TYPE_CHECKSUM_CANNOT_CREATE
           
private static String TYPE_CHECKSUM_NOT_FILE
           
 
Constructor Summary
ArtifactMissingChecksumsConsumer(ArchivaConfiguration configuration, FileTypes filetypes)
           
 
Method Summary
 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 repo, Date whenGathered)
           Event that triggers at the beginning of a scan.
 void beginScan(ManagedRepository repo, 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)
           
private  void createFixChecksum(String path, ChecksumAlgorithm[] checksumAlgorithm)
           
 String getDescription()
          The human readable description for this consumer.
 List<String> getExcludes()
          Get the list of excluded file patterns for this consumer.
 String getId()
          This is the id for the consumer.
 List<String> getIncludes()
          Get the list of included file patterns for this consumer.
 void initialize()
           
private  void initIncludes()
           
 boolean isPermanent()
          Flag indicating permanance of consumer.
 void processFile(String path)
           Event indicating a file is to be processed by this consumer.
 void processFile(String path, boolean executeOnEntireRepo)
           
 
Methods inherited from class org.apache.archiva.consumers.AbstractMonitoredConsumer
addConsumerMonitor, getDefaultArtifactExclusions, isProcessUnmodified, removeConsumerMonitor, triggerConsumerError, triggerConsumerInfo, triggerConsumerWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.archiva.consumers.RepositoryContentConsumer
isProcessUnmodified
 
Methods inherited from interface org.apache.archiva.consumers.Consumer
addConsumerMonitor, removeConsumerMonitor
 

Field Detail

id

private String id

description

private String description

configuration

private ArchivaConfiguration configuration

filetypes

private FileTypes filetypes

checksum

private ChecksummedFile checksum

TYPE_CHECKSUM_NOT_FILE

private static final String TYPE_CHECKSUM_NOT_FILE
See Also:
Constant Field Values

TYPE_CHECKSUM_CANNOT_CALC

private static final String TYPE_CHECKSUM_CANNOT_CALC
See Also:
Constant Field Values

TYPE_CHECKSUM_CANNOT_CREATE

private static final String TYPE_CHECKSUM_CANNOT_CREATE
See Also:
Constant Field Values

repositoryDir

private File repositoryDir

includes

private List<String> includes
Constructor Detail

ArtifactMissingChecksumsConsumer

@Inject
public ArtifactMissingChecksumsConsumer(ArchivaConfiguration configuration,
                                               FileTypes filetypes)
Method Detail

getId

public String getId()
Description copied from interface: Consumer
This is the id for the consumer.

Specified by:
getId in interface Consumer
Returns:
the consumer id.

getDescription

public String getDescription()
Description copied from interface: Consumer
The human readable description for this consumer.

Specified by:
getDescription in interface Consumer
Returns:
the human readable description for this consumer.

isPermanent

public boolean isPermanent()
Description copied from interface: Consumer
Flag indicating permanance of consumer. (if it can be disabled or not)

Specified by:
isPermanent in interface Consumer
Returns:
true indicating that consumer is permanent and cannot be disabled.

beginScan

public void beginScan(ManagedRepository repo,
                      Date whenGathered)
               throws ConsumerException
Description copied from interface: RepositoryContentConsumer

Event 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.

Specified by:
beginScan in interface RepositoryContentConsumer
Parameters:
repo - the repository that this consumer is being used for.
whenGathered - the start of the repository scan
Throws:
ConsumerException - if there was a problem with using the provided repository with the consumer.

beginScan

public void beginScan(ManagedRepository repo,
                      Date whenGathered,
                      boolean executeOnEntireRepo)
               throws ConsumerException
Description copied from interface: RepositoryContentConsumer

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.

Specified by:
beginScan in interface RepositoryContentConsumer
Parameters:
repo - the repository that this consumer is being used for.
whenGathered - the start of the repository scan
executeOnEntireRepo - flags whether the consumer will be executed on an entire repository or just on a specific resource
Throws:
ConsumerException - if there was a problem with using the provided repository with the consumer.
See Also:
RepositoryContentConsumer.beginScan(ManagedRepository, java.util.Date)

completeScan

public void completeScan()
Description copied from interface: RepositoryContentConsumer

Event 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.

Specified by:
completeScan in interface RepositoryContentConsumer

completeScan

public void completeScan(boolean executeOnEntireRepo)
Specified by:
completeScan in interface RepositoryContentConsumer

getExcludes

public List<String> getExcludes()
Description copied from interface: RepositoryContentConsumer
Get the list of excluded file patterns for this consumer.

Specified by:
getExcludes in interface RepositoryContentConsumer
Returns:
the list of String patterns. (example: "**/*.pom") - (can be null for no exclusions)

getIncludes

public List<String> getIncludes()
Description copied from interface: RepositoryContentConsumer
Get the list of included file patterns for this consumer.

Specified by:
getIncludes in interface RepositoryContentConsumer
Returns:
the list of String patterns. (example: "**/*.pom")

processFile

public void processFile(String path)
                 throws ConsumerException
Description copied from interface: RepositoryContentConsumer

Event 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.

Specified by:
processFile in interface RepositoryContentConsumer
Parameters:
path - the relative file path (in the repository) to process.
Throws:
ConsumerException - if there was a problem processing this file.

processFile

public void processFile(String path,
                        boolean executeOnEntireRepo)
                 throws ConsumerException
Specified by:
processFile in interface RepositoryContentConsumer
Throws:
ConsumerException

createFixChecksum

private void createFixChecksum(String path,
                               ChecksumAlgorithm[] checksumAlgorithm)

afterConfigurationChange

public void afterConfigurationChange(org.apache.archiva.redback.components.registry.Registry registry,
                                     String propertyName,
                                     Object propertyValue)
Specified by:
afterConfigurationChange in interface org.apache.archiva.redback.components.registry.RegistryListener

beforeConfigurationChange

public void beforeConfigurationChange(org.apache.archiva.redback.components.registry.Registry registry,
                                      String propertyName,
                                      Object propertyValue)
Specified by:
beforeConfigurationChange in interface org.apache.archiva.redback.components.registry.RegistryListener

initIncludes

private void initIncludes()

initialize

@PostConstruct
public void initialize()


Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.