Author: olamy
Date: Mon Dec 9 02:47:18 2013
New Revision: 1549370
URL: http://svn.apache.org/r1549370
Log:
fix unit tests
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java?rev=1549370&r1=1549369&r2=1549370&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java
Mon Dec 9 02:47:18 2013
@@ -524,9 +524,9 @@ public class ArchivaDavResourceFactoryTe
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 ArchivaDavResourceFactoryTe
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 );
Modified:
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java?rev=1549370&r1=1549369&r2=1549370&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java
(original)
+++
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java
Mon Dec 9 02:47:18 2013
@@ -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
{