You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2009/07/27 09:39:35 UTC
svn commit: r798060 - in
/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src:
main/java/org/apache/maven/archiva/web/action/UploadAction.java
test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
Author: oching
Date: Mon Jul 27 07:39:34 2009
New Revision: 798060
URL: http://svn.apache.org/viewvc?rev=798060&view=rev
Log:
[MRM-1212]
o fix/create checksums and update metadata in action class only if create-missing-checksum and metadata-updater consumers are not enabled
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java?rev=798060&r1=798059&r2=798060&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java Mon Jul 27 07:39:34 2009
@@ -42,6 +42,7 @@
import org.apache.maven.archiva.common.utils.VersionComparator;
import org.apache.maven.archiva.common.utils.VersionUtil;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.model.ArchivaProjectModel;
import org.apache.maven.archiva.model.ArchivaRepositoryMetadata;
@@ -292,8 +293,9 @@
{
try
{
+ Configuration config = configuration.getConfiguration();
ManagedRepositoryConfiguration repoConfig =
- configuration.getConfiguration().findManagedRepositoryById( repositoryId );
+ config.findManagedRepositoryById( repositoryId );
ArtifactReference artifactReference = new ArtifactReference();
artifactReference.setArtifactId( artifactId );
@@ -345,9 +347,11 @@
filename = filename.replaceAll( "SNAPSHOT", timestamp + "-" + newBuildNumber );
}
+ boolean fixChecksums = !( config.getRepositoryScanning().getKnownContentConsumers().contains( "create-missing-checksums" ) );
+
try
{
- copyFile( artifactFile, targetPath, filename );
+ copyFile( artifactFile, targetPath, filename, fixChecksums );
queueRepositoryTask( repository.getId(), repository.toFile( artifactReference ) );
}
catch ( IOException ie )
@@ -362,13 +366,16 @@
pomFilename = StringUtils.remove( pomFilename, "-" + classifier );
}
pomFilename = FilenameUtils.removeExtension( pomFilename ) + ".pom";
-
+
if ( generatePom )
{
try
{
File generatedPomFile = createPom( targetPath, pomFilename );
- fixChecksums( generatedPomFile );
+ if( fixChecksums )
+ {
+ fixChecksums( generatedPomFile );
+ }
queueRepositoryTask( repoConfig.getId(), generatedPomFile );
}
catch ( IOException ie )
@@ -387,7 +394,7 @@
{
try
{
- copyFile( pomFile, targetPath, pomFilename );
+ copyFile( pomFile, targetPath, pomFilename, fixChecksums );
queueRepositoryTask( repoConfig.getId(), new File( targetPath, pomFilename ) );
}
catch ( IOException ie )
@@ -398,7 +405,11 @@
}
- updateMetadata( metadata, metadataFile, lastUpdatedTimestamp, timestamp, newBuildNumber );
+ // explicitly update only if metadata-updater consumer is not enabled!
+ if( !config.getRepositoryScanning().getKnownContentConsumers().contains( "metadata-updater" ) )
+ {
+ updateMetadata( metadata, metadataFile, lastUpdatedTimestamp, timestamp, newBuildNumber, fixChecksums );
+ }
String msg = "Artifact \'" + groupId + ":" + artifactId + ":" + version +
"\' was successfully deployed to repository \'" + repositoryId + "\'";
@@ -428,7 +439,7 @@
checksum.fixChecksums( algorithms );
}
- private void copyFile( File sourceFile, File targetPath, String targetFilename )
+ private void copyFile( File sourceFile, File targetPath, String targetFilename, boolean fixChecksums )
throws IOException
{
FileOutputStream out = new FileOutputStream( new File( targetPath, targetFilename ) );
@@ -449,7 +460,10 @@
input.close();
}
- fixChecksums( new File( targetPath, targetFilename ) );
+ if( fixChecksums )
+ {
+ fixChecksums( new File( targetPath, targetFilename ) );
+ }
}
private File createPom( File targetPath, String filename )
@@ -486,12 +500,11 @@
}
/**
- * Update artifact level metadata. If it does not exist, create the metadata.
- *
- * @param metadata
+ * Update artifact level metadata. If it does not exist, create the metadata and
+ * fix checksums if necessary.
*/
private void updateMetadata( ArchivaRepositoryMetadata metadata, File metadataFile, Date lastUpdatedTimestamp,
- String timestamp, int buildNumber )
+ String timestamp, int buildNumber, boolean fixChecksums )
throws RepositoryMetadataException
{
List<String> availableVersions = new ArrayList<String>();
@@ -543,7 +556,11 @@
}
RepositoryMetadataWriter.write( metadata, metadataFile );
- fixChecksums( metadataFile );
+
+ if( fixChecksums )
+ {
+ fixChecksums( metadataFile );
+ }
}
public void validate()
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java?rev=798060&r1=798059&r2=798060&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java Mon Jul 27 07:39:34 2009
@@ -21,6 +21,7 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
import org.apache.archiva.checksum.ChecksumAlgorithm;
import org.apache.archiva.checksum.ChecksummedFile;
@@ -29,6 +30,7 @@
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.configuration.RepositoryScanningConfiguration;
import org.apache.maven.archiva.repository.ManagedRepositoryContent;
import org.apache.maven.archiva.repository.RepositoryContentFactory;
import org.apache.maven.archiva.repository.RepositoryNotFoundException;
@@ -96,6 +98,10 @@
repoConfig.setLocation( testRepo.getPath() );
repoConfig.setName( REPOSITORY_ID );
config.addManagedRepository( repoConfig );
+
+ RepositoryScanningConfiguration repoScanning = new RepositoryScanningConfiguration();
+ repoScanning.setKnownContentConsumers( new ArrayList<String>() );
+ config.setRepositoryScanning( repoScanning );
}
public void tearDown()
@@ -401,9 +407,11 @@
ManagedRepositoryContent content = new ManagedDefaultRepositoryContent();
content.setRepository( config.findManagedRepositoryById( REPOSITORY_ID ) );
+
+
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
repoFactoryControl.expectAndReturn( repoFactory.getManagedRepositoryContent( REPOSITORY_ID ), content );
-
+
archivaConfigControl.replay();
repoFactoryControl.replay();
@@ -443,5 +451,5 @@
assertAllArtifactsIncludingSupportArtifactsArePresent( repoLocation );
verifyChecksums( repoLocation );
- }
+ }
}