Author: olamy
Date: Mon Jul 30 14:39:31 2012
New Revision: 1367107

URL: http://svn.apache.org/viewvc?rev=1367107&view=rev
Log:
[MRM-1645] mvn archetype:generate -DarchetypeCatalog (archetype-catalog.xml) 
failing with Not a valid artifact path.
Submitted by Charles Kim.

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/content/RepositoryRequest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/content/RepositoryRequest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/content/RepositoryRequest.java?rev=1367107&r1=1367106&r2=1367107&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/content/RepositoryRequest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/content/RepositoryRequest.java
 Mon Jul 30 14:39:31 2012
@@ -104,6 +104,17 @@ public class RepositoryRequest
     }
 
     /**
+     * 
+     * @param requestedPath
+     * @return true if the requestedPath is likely an archetype catalog 
request.
+     */
+    public boolean isArchetypeCatalog( String requestedPath )
+    {
+       //TODO: Make it static final String
+       return requestedPath.endsWith( "/archetype-catalog.xml");
+    }
+    
+    /**
      * <p>
      * Tests the path to see if it conforms to the expectations of a support 
file request.
      * </p>

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java?rev=1367107&r1=1367106&r2=1367107&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
 Mon Jul 30 14:39:31 2012
@@ -688,6 +688,14 @@ public class ArchivaDavResourceFactory
             return connectors.fetchMetatadaFromProxies( managedRepository, 
path ) != null;
         }
 
+        // Is it an Archetype Catalog?
+        if ( repositoryRequest.isArchetypeCatalog( path ) )
+        {
+            File proxiedFile = connectors.fetchFromProxies( managedRepository, 
path );
+
+            return ( proxiedFile != null );
+        }
+        
         // Not any of the above? Then it's gotta be an artifact reference.
         try
         {

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=1367107&r1=1367106&r2=1367107&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 Jul 30 14:39:31 2012
@@ -241,6 +241,9 @@ public class ArchivaDavResourceFactoryTe
                           
"target/test-classes/internal/org/apache/archiva/archiva/1.2-SNAPSHOT/archiva-1.2-SNAPSHOT.jar"
 ).getPath() );
             repoContentFactoryControl.expectAndReturn( 
repoFactory.getManagedRepositoryContent( INTERNAL_REPO ),
                                                        internalRepo );
+            repoRequestControl.expectAndReturn(
+                    repoRequest.isArchetypeCatalog( 
"org/apache/archiva/archiva/1.2-SNAPSHOT/archiva-1.2-SNAPSHOT.jar" ),
+                    false );
 
             archivaConfigurationControl.replay();
             requestControl.replay();
@@ -309,6 +312,9 @@ public class ArchivaDavResourceFactoryTe
                                           internalRepo ),
                 new File( config.findManagedRepositoryById( INTERNAL_REPO 
).getLocation(),
                           
"target/test-classes/internal/org/apache/archiva/archiva/1.2-SNAPSHOT/archiva-1.2-SNAPSHOT.jar"
 ).getPath() );
+            repoRequestControl.expectAndReturn(
+                    repoRequest.isArchetypeCatalog( 
"org/apache/archiva/archiva/1.2-SNAPSHOT/archiva-1.2-SNAPSHOT.jar" ),
+                    false );
 
             archivaConfigurationControl.replay();
             requestControl.replay();
@@ -387,6 +393,10 @@ public class ArchivaDavResourceFactoryTe
                 new File( config.findManagedRepositoryById( LOCAL_MIRROR_REPO 
).getLocation(),
                           
"target/test-classes/internal/org/apache/archiva/archiva/1.2-SNAPSHOT/archiva-1.2-SNAPSHOT.jar"
 ).getPath() );
 
+            repoRequestControl.expectAndReturn(
+                    repoRequest.isArchetypeCatalog( 
"org/apache/archiva/archiva/1.2-SNAPSHOT/archiva-1.2-SNAPSHOT.jar" ),
+                    false , 2);
+
             archivaConfigurationControl.replay();
             requestControl.replay();
             repoContentFactoryControl.replay();


Reply via email to