Author: oching
Date: Sun Jul 11 04:23:27 2010
New Revision: 962977
URL: http://svn.apache.org/viewvc?rev=962977&view=rev
Log:
[MRM-980] fix repo merger and update repo merger tests
submitted by Patti Arachchige Eshan Sudharaka
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java?rev=962977&r1=962976&r2=962977&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
Sun Jul 11 04:23:27 2010
@@ -81,6 +81,11 @@ public class Maven2RepositoryMerger
this.configuration = configuration;
}
+ public void setMetadataRepository( MetadataRepository metadataRepository )
+ {
+ this.metadataRepository = metadataRepository;
+ }
+
public void merge( String sourceRepoId, String targetRepoId )
throws Exception
{
@@ -144,11 +149,25 @@ public class Maven2RepositoryMerger
// pom file copying
String fileName = artifactMetadata.getProject() + "-" +
artifactMetadata.getVersion() + ".pom";
- File sourcePomFile =
- pathTranslator.toFile( new File( sourceRepoPath ),
artifactMetadata.getId(), artifactMetadata.getProject(),
- artifactMetadata.getVersion(), fileName );
- String relativePathToPomFile = sourcePomFile.getAbsolutePath().split(
sourceRepoPath )[1];
- File targetPomFile = new File( targetRepoPath, relativePathToPomFile );
+ // pom file copying
+ // TODO need to use path translator to get the pom file path
+// String fileName = artifactMetadata.getProject() + "-" +
artifactMetadata.getVersion() + ".pom";
+//
+// File sourcePomFile =
+// pathTranslator.toFile( new File( sourceRepoPath ),
artifactMetadata.getId(), artifactMetadata.getProject(),
+// artifactMetadata.getVersion(), fileName );
+//
+// String relativePathToPomFile =
sourcePomFile.getAbsolutePath().split( sourceRepoPath )[1];
+// File targetPomFile = new File( targetRepoPath, relativePathToPomFile
);
+
+ //pom file copying (file path is taken with out using path translator)
+
+ String index = artifactPath.substring( lastIndex + 1 );
+ int last = index.lastIndexOf( '.' );
+ File sourcePomFile = new File( sourceRepoPath, artifactPath.substring(
0, lastIndex ) + "/" +
+ artifactPath.substring( lastIndex + 1 ).substring( 0, last ) +
".pom" );
+ File targetPomFile = new File( targetRepoPath, artifactPath.substring(
0, lastIndex ) + "/" +
+ artifactPath.substring( lastIndex + 1 ).substring( 0, last ) +
".pom" );
if ( !targetPomFile.exists() )
{
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java?rev=962977&r1=962976&r2=962977&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
Sun Jul 11 04:23:27 2010
@@ -23,23 +23,26 @@ import org.codehaus.plexus.spring.Plexus
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.configuration.RepositoryScanningConfiguration;
import org.apache.maven.archiva.repository.RepositoryContentFactory;
import org.apache.archiva.metadata.repository.MetadataRepository;
-import org.apache.archiva.reports.RepositoryProblemFacet;
-import org.mockito.MockitoAnnotations;
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.mockito.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
import org.junit.Before;
+import java.util.List;
+import java.util.ArrayList;
+
public class Maven2RepositoryMergerTest
extends PlexusInSpringTestCase
{
- private static final String SOURCE_REPOSITORY_ID = "test-repository";
-
- private static final String TARGET_REPOSITORY_ID = "target-repo";
-
private static final String TEST_REPO_ID = "test";
- // private static final String TARGET_REPOSITORY_ID = "target-repo";
+ private static final String TARGET_REPOSITORY_ID = "target-repo";
private Configuration config;
@@ -59,31 +62,51 @@ public class Maven2RepositoryMergerTest
throws Exception
{
super.setUp();
+ MockitoAnnotations.initMocks( this );
+ metadataRepository = mock( MetadataRepository.class );
+
ArchivaConfiguration configuration = (ArchivaConfiguration) lookup(
ArchivaConfiguration.class );
Configuration c = new Configuration();
ManagedRepositoryConfiguration testRepo = new
ManagedRepositoryConfiguration();
testRepo.setId( TEST_REPO_ID );
testRepo.setLocation( getTestPath( "target/test-repository" ) );
- // testRepo.setLocation(
"/boot/gsoc/apps/apache-archiva-1.4-SNAPSHOT/data/repositories/internal" );
+
+ RepositoryScanningConfiguration repoScanConfig = new
RepositoryScanningConfiguration();
+ List<String> knownContentConsumers = new ArrayList<String>();
+ knownContentConsumers.add( "metadata-updater12" );
+ repoScanConfig.setKnownContentConsumers( knownContentConsumers );
+ c.setRepositoryScanning( repoScanConfig );
ManagedRepositoryConfiguration targetRepo = new
ManagedRepositoryConfiguration();
targetRepo.setId( "target-rep" );
- targetRepo.setLocation( getTestPath( "src/test/resources/target-repo"
) );
+ targetRepo.setLocation( getTestPath( "target" ) );
c.addManagedRepository( testRepo );
c.addManagedRepository( targetRepo );
configuration.save( c );
repositoryMerger = (Maven2RepositoryMerger) lookup(
RepositoryMerger.class, "maven2" );
+ repositoryMerger.setMetadataRepository( metadataRepository );
+ }
- metadataRepository = (MetadataRepository) lookup(
MetadataRepository.class );
+ private List<ArtifactMetadata> getArtifacts()
+ {
+ List<ArtifactMetadata> metadata = new ArrayList<ArtifactMetadata>();
+ ArtifactMetadata artifact1 = new ArtifactMetadata();
+ artifact1.setNamespace( "com.example.test" );
+ artifact1.setProject( "test-artifact" );
+ artifact1.setVersion( "1.0-SNAPSHOT" );
+ artifact1.setProjectVersion( "1.0-SNAPSHOT" );
+ artifact1.setId( "test-artifact-1.0-20100308.230825-1.jar" );
+ metadata.add( artifact1 );
+ return metadata;
}
public void testMerge()
throws Exception
{
+ when( metadataRepository.getArtifacts( TEST_REPO_ID ) ).thenReturn(
getArtifacts() );
repositoryMerger.merge( TEST_REPO_ID, "target-rep" );
- // assert( true , (metadataRepository.getArtifacts( TEST_REPO_ID
).size() > 0 ) );
-
+ verify( metadataRepository ).getArtifacts( TEST_REPO_ID );
}
}
\ No newline at end of file