Kaynağa Gözat

fix unit tests

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1549370 13f79535-47bb-0310-9956-ffa450edef68
tags/archiva-2.0.0-RC1
Olivier Lamy 10 yıl önce
ebeveyn
işleme
449de093e2

+ 3
- 3
archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java Dosyayı Görüntüle

@@ -524,9 +524,9 @@ public class ArchivaDavResourceFactoryTest

expect( repoFactory.getManagedRepositoryContent( INTERNAL_REPO ) ).andReturn( internalRepo );

expect( request.getMethod() ).andReturn( "GET" ).times( 2 );
expect( request.getMethod() ).andReturn( "GET" ).times( 3 );

expect( request.getRemoteAddr() ).andReturn( "http://localhost:8080" ).times( 2 );
expect( request.getRemoteAddr() ).andReturn( "http://localhost:8080" ).times( 3 );

expect( request.getDavSession() ).andReturn( new ArchivaDavSession() ).times( 2 );

@@ -575,7 +575,7 @@ public class ArchivaDavResourceFactoryTest

expect( request.getMethod() ).andReturn( "GET" ).times( 2 );

expect( request.getRemoteAddr() ).andReturn( "http://localhost:8080" ).times( 2 );
expect( request.getRemoteAddr() ).andReturn( "http://localhost:8080" ).times( 3 );

expect( request.getDavSession() ).andReturn( new ArchivaDavSession() ).times( 2 );


+ 44
- 19
archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java Dosyayı Görüntüle

@@ -106,7 +106,7 @@ import java.util.Map;
* within the session in the context of a single managed repository's resolution needs.
* <p/>
*/
@Service ( "repositoryStorage#maven2" )
@Service( "repositoryStorage#maven2" )
public class Maven2RepositoryStorage
implements RepositoryStorage
{
@@ -125,7 +125,7 @@ public class Maven2RepositoryStorage
private NetworkProxyAdmin networkProxyAdmin;

@Inject
@Named ( value = "repositoryPathTranslator#maven2" )
@Named( value = "repositoryPathTranslator#maven2" )
private RepositoryPathTranslator pathTranslator;

@Inject
@@ -135,7 +135,7 @@ public class Maven2RepositoryStorage
private ApplicationContext applicationContext;

@Inject
@Named ( value = "pathParser#default")
@Named( value = "pathParser#default" )
private PathParser pathParser;

private static final Logger log = LoggerFactory.getLogger( Maven2RepositoryStorage.class );
@@ -289,8 +289,8 @@ public class Maven2RepositoryStorage
if ( ( problem.getException() instanceof FileNotFoundException && e.getModelId() != null &&
!e.getModelId().equals( problem.getModelId() ) ) )
{
log.warn( "The artifact's parent POM file '{}' cannot be resolved. " +
"Using defaults for project version metadata..", file );
log.warn( "The artifact's parent POM file '{}' cannot be resolved. "
+ "Using defaults for project version metadata..", file );

ProjectVersionMetadata metadata = new ProjectVersionMetadata();
metadata.setId( readMetadataRequest.getProjectVersion() );
@@ -377,7 +377,7 @@ public class Maven2RepositoryStorage
}
catch ( RepositoryAdminException e )
{
throw new RepositoryStorageRuntimeException( "repo-admin", e.getMessage(), e);
throw new RepositoryStorageRuntimeException( "repo-admin", e.getMessage(), e );
}
}

@@ -523,7 +523,7 @@ public class Maven2RepositoryStorage
}
catch ( RepositoryAdminException e )
{
throw new RepositoryStorageRuntimeException( "repo-admin", e.getMessage(), e);
throw new RepositoryStorageRuntimeException( "repo-admin", e.getMessage(), e );
}
}

@@ -765,41 +765,67 @@ public class Maven2RepositoryStorage
}

public String getFilePathWithVersion( final String requestPath, ManagedRepositoryContent managedRepositoryContent )
throws LayoutException, XMLException
throws XMLException
{
String requestPathNoRepository = removePrefix( requestPath );
ArtifactReference artifactReference = pathParser.toArtifactReference( requestPathNoRepository );

if (StringUtils.endsWith( requestPath, METADATA_FILENAME ))
{
return getFilePath( requestPath, managedRepositoryContent.getRepository() );
}


String filePath = getFilePath( requestPath, managedRepositoryContent.getRepository() );

if (StringUtils.endsWith( artifactReference.getVersion(), "SNAPSHOT" ))
String requestPathNoRepository = removePrefix( requestPath );

ArtifactReference artifactReference = null;
try
{
artifactReference = pathParser.toArtifactReference( filePath );
}
catch ( LayoutException e )
{
return filePath;
}

if ( StringUtils.endsWith( artifactReference.getVersion(), "SNAPSHOT" ) )
{
// read maven metadata to get last timestamp
File metadataDir = new File( managedRepositoryContent.getRepoRoot(), filePath).getParentFile();
ArchivaRepositoryMetadata archivaRepositoryMetadata = MavenMetadataReader.read( new File(metadataDir, METADATA_FILENAME ) );
File metadataDir = new File( managedRepositoryContent.getRepoRoot(), filePath ).getParentFile();
if ( !metadataDir.exists() )
{
return filePath;
}
File metadataFile = new File( metadataDir, METADATA_FILENAME );
if ( !metadataFile.exists() )
{
return filePath;
}
ArchivaRepositoryMetadata archivaRepositoryMetadata = MavenMetadataReader.read( metadataFile );
int buildNumber = archivaRepositoryMetadata.getSnapshotVersion().getBuildNumber();
String timestamp = archivaRepositoryMetadata.getSnapshotVersion().getTimestamp();

// org/apache/archiva/archiva-checksum/1.4-M4-SNAPSHOT/archiva-checksum-1.4-M4-SNAPSHOT.jar
// -> archiva-checksum-1.4-M4-20130425.081822-1.jar

filePath = StringUtils.replace( filePath, artifactReference.getArtifactId() + "-" + artifactReference.getVersion(),
artifactReference.getArtifactId() + "-" + StringUtils.remove( artifactReference.getVersion(), "-SNAPSHOT")
+ "-" + timestamp + "-" + buildNumber );
filePath =
StringUtils.replace( filePath, artifactReference.getArtifactId() + "-" + artifactReference.getVersion(),
artifactReference.getArtifactId() + "-" + StringUtils.remove(
artifactReference.getVersion(), "-SNAPSHOT" ) + "-" + timestamp + "-"
+ buildNumber );

}

return filePath;
}



//-----------------------------
// internal
//-----------------------------

/**
* FIXME remove
*
* @param href
* @return
*/
@@ -992,7 +1018,6 @@ public class Maven2RepositoryStorage
}



private static final class PomFilenameFilter
implements FilenameFilter
{

Loading…
İptal
Kaydet