fix spring annotations for missing checksum consumer

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1179635 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2011-10-06 14:13:37 +00:00
parent 4515893178
commit d66e72fcd2
2 changed files with 48 additions and 64 deletions

View File

@ -34,6 +34,7 @@ import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@ -45,15 +46,15 @@ import java.util.List;
*
* @version $Id$
*/
@Service("knownRepositoryContentConsumer#create-missing-checksums")
@Scope("prototype")
@Service( "knownRepositoryContentConsumer#create-missing-checksums" )
@Scope( "prototype" )
public class ArtifactMissingChecksumsConsumer
extends AbstractMonitoredConsumer
implements KnownRepositoryContentConsumer, RegistryListener
{
private String id;
private String id = "create-missing-checksums";
private String description;
private String description = "Create Missing and/or Fix Invalid Checksums (.sha1, .md5)";
private ArchivaConfiguration configuration;
@ -69,33 +70,31 @@ public class ArtifactMissingChecksumsConsumer
private File repositoryDir;
private List<String> includes = new ArrayList<String>();
private List<String> includes = new ArrayList<String>( );
public ArtifactMissingChecksumsConsumer(String id,
String description,
ArchivaConfiguration configuration,
FileTypes filetypes) {
this.id = id;
this.description = description;
@Inject
public ArtifactMissingChecksumsConsumer( ArchivaConfiguration configuration,
FileTypes filetypes )
{
this.configuration = configuration;
this.filetypes = filetypes;
configuration.addChangeListener( this );
initIncludes();
initIncludes( );
}
public String getId()
public String getId( )
{
return this.id;
}
public String getDescription()
public String getDescription( )
{
return this.description;
}
public boolean isPermanent()
public boolean isPermanent( )
{
return false;
}
@ -103,7 +102,7 @@ public class ArtifactMissingChecksumsConsumer
public void beginScan( ManagedRepository repo, Date whenGathered )
throws ConsumerException
{
this.repositoryDir = new File( repo.getLocation() );
this.repositoryDir = new File( repo.getLocation( ) );
}
public void beginScan( ManagedRepository repo, Date whenGathered, boolean executeOnEntireRepo )
@ -112,22 +111,22 @@ public class ArtifactMissingChecksumsConsumer
beginScan( repo, whenGathered );
}
public void completeScan()
public void completeScan( )
{
/* do nothing */
}
public void completeScan( boolean executeOnEntireRepo )
{
completeScan();
completeScan( );
}
public List<String> getExcludes()
public List<String> getExcludes( )
{
return getDefaultArtifactExclusions();
return getDefaultArtifactExclusions( );
}
public List<String> getIncludes()
public List<String> getIncludes( )
{
return includes;
}
@ -135,8 +134,8 @@ public class ArtifactMissingChecksumsConsumer
public void processFile( String path )
throws ConsumerException
{
createFixChecksum( path, new ChecksumAlgorithm[] { ChecksumAlgorithm.SHA1 } );
createFixChecksum( path, new ChecksumAlgorithm[] { ChecksumAlgorithm.MD5 } );
createFixChecksum( path, new ChecksumAlgorithm[]{ ChecksumAlgorithm.SHA1 } );
createFixChecksum( path, new ChecksumAlgorithm[]{ ChecksumAlgorithm.MD5 } );
}
public void processFile( String path, boolean executeOnEntireRepo )
@ -148,43 +147,43 @@ public class ArtifactMissingChecksumsConsumer
private void createFixChecksum( String path, ChecksumAlgorithm checksumAlgorithm[] )
{
File artifactFile = new File( this.repositoryDir, path );
File checksumFile = new File( this.repositoryDir, path + checksumAlgorithm[0].getExt() );
File checksumFile = new File( this.repositoryDir, path + checksumAlgorithm[0].getExt( ) );
if( checksumFile.exists() )
if ( checksumFile.exists( ) )
{
checksum = new ChecksummedFile( artifactFile );
try
{
if( !checksum.isValidChecksum( checksumAlgorithm[0] ) )
if ( !checksum.isValidChecksum( checksumAlgorithm[0] ) )
{
checksum.fixChecksums( checksumAlgorithm );
triggerConsumerInfo( "Fixed checksum file " + checksumFile.getAbsolutePath() );
triggerConsumerInfo( "Fixed checksum file " + checksumFile.getAbsolutePath( ) );
}
}
catch ( IOException e )
{
triggerConsumerError( TYPE_CHECKSUM_CANNOT_CALC, "Cannot calculate checksum for file " + checksumFile +
": " + e.getMessage() );
": " + e.getMessage( ) );
}
}
else if( !checksumFile.exists() )
else if ( !checksumFile.exists( ) )
{
checksum = new ChecksummedFile( artifactFile );
try
{
checksum.createChecksum( checksumAlgorithm[0] );
triggerConsumerInfo( "Created missing checksum file " + checksumFile.getAbsolutePath() );
triggerConsumerInfo( "Created missing checksum file " + checksumFile.getAbsolutePath( ) );
}
catch ( IOException e )
{
triggerConsumerError( TYPE_CHECKSUM_CANNOT_CREATE, "Cannot create checksum for file " + checksumFile +
": " + e.getMessage() );
": " + e.getMessage( ) );
}
}
else
{
triggerConsumerWarning( TYPE_CHECKSUM_NOT_FILE,
"Checksum file " + checksumFile.getAbsolutePath() + " is not a file." );
"Checksum file " + checksumFile.getAbsolutePath( ) + " is not a file." );
}
}
@ -192,7 +191,7 @@ public class ArtifactMissingChecksumsConsumer
{
if ( ConfigurationNames.isRepositoryScanning( propertyName ) )
{
initIncludes();
initIncludes( );
}
}
@ -201,18 +200,18 @@ public class ArtifactMissingChecksumsConsumer
/* do nothing */
}
private void initIncludes()
private void initIncludes( )
{
includes.clear();
includes.clear( );
includes.addAll( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) );
}
@PostConstruct
public void initialize()
public void initialize( )
{
configuration.addChangeListener( this );
initIncludes();
initIncludes( );
}
}

View File

@ -30,19 +30,4 @@
<context:annotation-config/>
<context:component-scan base-package="org.apache.archiva.consumers.core"/>
<bean id="artifactMissingChecksumsConsumer" class="org.apache.archiva.consumers.core.ArtifactMissingChecksumsConsumer" scope="prototype">
<constructor-arg>
<value>create-missing-checksums</value>
</constructor-arg>
<constructor-arg>
<value>Create Missing and/or Fix Invalid Checksums (.sha1, .md5)</value>
</constructor-arg>
<constructor-arg>
<ref bean="archivaConfiguration"/>
</constructor-arg>
<constructor-arg>
<ref bean="fileTypes"/>
</constructor-arg>
</bean>
<alias name="artifactMissingChecksumsConsumer" alias="knownRepositoryContentConsumer#artifact-missing-checksums-consumer"/>
</beans>