You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/12/09 03:47:18 UTC

svn commit: r1549370 - in /archiva/trunk/archiva-modules: archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/

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
     {