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();