You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jd...@apache.org on 2009/02/17 23:43:45 UTC
svn commit: r745282 - in
/archiva/branches/archiva-with-new-repoapi/archiva-modules:
archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/
archiva-base/archiva-consumers/archiva-core-consumers/src/...
Author: jdumay
Date: Tue Feb 17 22:43:44 2009
New Revision: 745282
URL: http://svn.apache.org/viewvc?rev=745282&view=rev
Log:
Added legacy repository support. ManagedRepositoryContent now uses the Repository interface.
Added:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/LegacyRepositoryManager.java
Removed:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepository.java
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/DaysOldRepositoryPurge.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RetentionCountRepositoryPurge.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveArtifactConsumer.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveProjectConsumer.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/LuceneCleanupRemoveIndexedConsumer.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyRepositoryManager.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/resources/META-INF/spring-context.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/HttpProxyTransferTest.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/MutableResourceContext.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/RepositoryManagerException.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/pom.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryFactory.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/AbstractRepositoryServletTestCase.java
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java Tue Feb 17 22:43:44 2009
@@ -129,7 +129,7 @@
try
{
this.repository = repositoryFactory.getManagedRepositoryContent( repoConfig.getId() );
- this.repositoryDir = new File( repository.getRepoRoot() );
+ this.repositoryDir = repository.getLocalPath();
this.scanStartTimestamp = System.currentTimeMillis();
}
catch ( RepositoryNotFoundException e )
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java Tue Feb 17 22:43:44 2009
@@ -65,9 +65,9 @@
protected String toRelativePath( File artifactFile )
{
String artifactPath = artifactFile.getAbsolutePath();
- if ( artifactPath.startsWith( repository.getRepoRoot() ) )
+ if ( artifactPath.startsWith( repository.getLocalPath().getAbsolutePath() ) )
{
- artifactPath = artifactPath.substring( repository.getRepoRoot().length() );
+ artifactPath = artifactPath.substring( repository.getLocalPath().getAbsolutePath().length() );
}
return artifactPath;
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java Tue Feb 17 22:43:44 2009
@@ -92,7 +92,7 @@
{
try
{
- File artifactFile = new File( repository.getRepoRoot(), path );
+ File artifactFile = new File( repository.getLocalPath(), path );
if ( !artifactFile.exists() )
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/DaysOldRepositoryPurge.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/DaysOldRepositoryPurge.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/DaysOldRepositoryPurge.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/DaysOldRepositoryPurge.java Tue Feb 17 22:43:44 2009
@@ -68,7 +68,7 @@
{
try
{
- File artifactFile = new File( repository.getRepoRoot(), path );
+ File artifactFile = new File( repository.getLocalPath(), path );
if ( !artifactFile.exists() )
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RetentionCountRepositoryPurge.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RetentionCountRepositoryPurge.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RetentionCountRepositoryPurge.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RetentionCountRepositoryPurge.java Tue Feb 17 22:43:44 2009
@@ -55,7 +55,7 @@
{
try
{
- File artifactFile = new File( repository.getRepoRoot(), path );
+ File artifactFile = new File( repository.getLocalPath(), path );
if ( !artifactFile.exists() )
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java Tue Feb 17 22:43:44 2009
@@ -143,7 +143,7 @@
try
{
this.repository = repositoryFactory.getManagedRepositoryContent( repo.getId() );
- this.repositoryDir = new File( repository.getRepoRoot() );
+ this.repositoryDir = repository.getLocalPath();
this.whenGathered = whenGathered;
}
catch(RepositoryException e)
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveArtifactConsumer.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveArtifactConsumer.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveArtifactConsumer.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveArtifactConsumer.java Tue Feb 17 22:43:44 2009
@@ -99,7 +99,7 @@
ManagedRepositoryContent repositoryContent =
repositoryFactory.getManagedRepositoryContent( artifact.getModel().getRepositoryId() );
- File file = new File( repositoryContent.getRepoRoot(), repositoryContent.toPath( artifact ) );
+ File file = new File( repositoryContent.getLocalPath(), repositoryContent.toPath( artifact ) );
if( !file.exists() )
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveProjectConsumer.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveProjectConsumer.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveProjectConsumer.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveProjectConsumer.java Tue Feb 17 22:43:44 2009
@@ -104,7 +104,7 @@
ManagedRepositoryContent repositoryContent =
repositoryFactory.getManagedRepositoryContent( artifact.getModel().getRepositoryId() );
- File file = new File( repositoryContent.getRepoRoot(), repositoryContent.toPath( artifact ) );
+ File file = new File( repositoryContent.getLocalPath(), repositoryContent.toPath( artifact ) );
if ( !file.exists() )
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/LuceneCleanupRemoveIndexedConsumer.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/LuceneCleanupRemoveIndexedConsumer.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/LuceneCleanupRemoveIndexedConsumer.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/LuceneCleanupRemoveIndexedConsumer.java Tue Feb 17 22:43:44 2009
@@ -87,7 +87,7 @@
ManagedRepositoryContent repoContent =
repoFactory.getManagedRepositoryContent( artifact.getModel().getRepositoryId() );
- File file = new File( repoContent.getRepoRoot(), repoContent.toPath( artifact ) );
+ File file = new File( repoContent.getLocalPath(), repoContent.toPath( artifact ) );
if( !file.exists() )
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java Tue Feb 17 22:43:44 2009
@@ -210,7 +210,7 @@
File workingDir = createWorkingDirectory(repository);
try
{
- File localFile = new File( repository.getRepoRoot(), path );
+ File localFile = new File( repository.getLocalPath(), path );
// no update policies for these paths
if ( localFile.exists() )
@@ -279,7 +279,7 @@
File workingDir = createWorkingDirectory(repository);
try
{
- File localFile = new File(repository.getRepoRoot(), logicalPath);
+ File localFile = new File(repository.getLocalPath(), logicalPath);
Properties requestProperties = new Properties();
requestProperties.setProperty( "filetype", "metadata" );
@@ -384,7 +384,7 @@
String targetPath )
{
String repoPath = metadataTools.getRepositorySpecificName( targetRepository, targetPath );
- return new File( repository.getRepoRoot(), repoPath );
+ return new File( repository.getLocalPath(), repoPath );
}
/**
@@ -861,7 +861,7 @@
//TODO: This is ugly - lets actually clean this up when we get the new repository api
try
{
- File tmpDir = File.createTempFile(".workingdirectory", null, new File(repository.getRepoRoot()));
+ File tmpDir = File.createTempFile(".workingdirectory", null, repository.getLocalPath());
tmpDir.delete();
tmpDir.mkdirs();
return tmpDir;
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java Tue Feb 17 22:43:44 2009
@@ -127,7 +127,7 @@
StringBuffer sb = new StringBuffer();
sb.append( "ProxyConnector[\n" );
- sb.append( " source: [managed] " ).append( this.sourceRepository.getRepoRoot() ).append( "\n" );
+ sb.append( " source: [managed] " ).append( this.sourceRepository.getLocalPath() ).append( "\n" );
sb.append( " target: [remote] " ).append( this.targetRepository.getRepository().getUrl() ).append( "\n" );
sb.append( " proxyId:" ).append( this.proxyId ).append( "\n" );
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyRepositoryManager.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyRepositoryManager.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyRepositoryManager.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyRepositoryManager.java Tue Feb 17 22:43:44 2009
@@ -35,8 +35,6 @@
import org.apache.archiva.repository.api.ResourceContext;
import org.apache.archiva.repository.api.Status;
import org.apache.archiva.repository.api.SystemRepositoryManager;
-import org.apache.maven.archiva.configuration.ConfigurationEvent;
-import org.apache.maven.archiva.configuration.ConfigurationListener;
import org.apache.maven.archiva.model.ArtifactReference;
import org.apache.maven.archiva.policies.ProxyDownloadException;
import org.apache.maven.archiva.repository.ManagedRepositoryContent;
@@ -96,12 +94,14 @@
public List<Status> stat(ResourceContext context)
{
+ final MutableResourceContext resourceContext = new MutableResourceContext(context);
+
//Return the stat() result from the system repository if we are simply getting a collection
ManagedRepositoryContent managedRepository = null;
try
{
- managedRepository = repositoryFactory.getManagedRepositoryContent(context.getRepositoryId());
+ managedRepository = repositoryFactory.getManagedRepositoryContent(resourceContext.getRepositoryId());
}
catch (RepositoryNotFoundException e)
{
@@ -116,13 +116,13 @@
boolean isCollection = false;
try
{
- this.repositoryRequest.toArtifactReference(context.getLogicalPath());
+ this.repositoryRequest.toArtifactReference(resourceContext.getLogicalPath());
}
catch (LayoutException e)
{
try
{
- repositoryRequest.toNativePath(context.getLogicalPath(), managedRepository);
+ repositoryRequest.toNativePath(resourceContext.getLogicalPath(), managedRepository);
}
catch (LayoutException ex)
{
@@ -135,7 +135,7 @@
return repositoryManager.stat(context);
}
- final Status status = doProxy(managedRepository, context);
+ final Status status = doProxy(managedRepository, resourceContext);
if (status != null)
{
return Arrays.asList(status);
@@ -148,10 +148,11 @@
return repositoryManager.write(context, is);
}
- private Status doProxy( ManagedRepositoryContent managedRepository, ResourceContext context )
+ private Status doProxy( ManagedRepositoryContent managedRepository, MutableResourceContext context )
throws RepositoryManagerException
{
- File resourceFile = new File( managedRepository.getRepoRoot(), context.getLogicalPath() );
+ File resourceFile = new File( managedRepository.getLocalPath(), context.getLogicalPath() );
+ final boolean previouslyExisted = resourceFile.exists();
// At this point the incoming request can either be in default or
// legacy layout format.
@@ -166,7 +167,11 @@
}
catch ( LayoutException e )
{
- return Status.fromFile(resourceFile);
+ if (previouslyExisted)
+ {
+ return Status.fromFile(resourceFile);
+ }
+ return null;
}
// Attempt to fetch the resource from any defined proxy.
@@ -180,7 +185,7 @@
return status;
}
- private Status fetchContentFromProxies( ManagedRepositoryContent managedRepository, ResourceContext context )
+ private Status fetchContentFromProxies( ManagedRepositoryContent managedRepository, MutableResourceContext context )
throws RepositoryManagerException
{
if ( repositoryRequest.isSupportFile( context.getLogicalPath() ) )
@@ -214,9 +219,7 @@
applyServerSideRelocation( managedRepository, artifact );
File proxiedFile = repositoryProxyConnectors.fetchFromProxies( managedRepository, artifact );
-
- MutableResourceContext resourceContext = new MutableResourceContext(context);
- resourceContext.setLogicalPath(managedRepository.toPath( artifact ));
+ context.setLogicalPath(managedRepository.toPath( artifact ));
if (proxiedFile != null)
{
@@ -233,7 +236,7 @@
throw new RepositoryManagerException(e.getMessage(), e);
}
- File resourceFile = new File(managedRepository.getRepoRoot(), context.getLogicalPath());
+ File resourceFile = new File(managedRepository.getLocalPath(), context.getLogicalPath());
if (resourceFile.exists())
{
return Status.fromFile(resourceFile);
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/resources/META-INF/spring-context.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/resources/META-INF/spring-context.xml?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/resources/META-INF/spring-context.xml (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/main/resources/META-INF/spring-context.xml Tue Feb 17 22:43:44 2009
@@ -28,7 +28,7 @@
value="org.apache.maven.archiva.proxy.WagonFactory" />
</bean>
- <bean id="proxyRepositoryManager" class="org.apache.maven.archiva.proxy.ProxyRepositoryManager">
+ <bean id="proxyRepositoryManager" class="org.apache.maven.archiva.proxy.ProxyRepositoryManager" lazy-init="true">
<constructor-arg ref="systemRepositoryManager"/>
<constructor-arg ref="repositoryProxyConnectors"/>
<constructor-arg ref="repositoryContentFactory"/>
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java Tue Feb 17 22:43:44 2009
@@ -466,7 +466,7 @@
managedDefaultRepository = createRepository( ID_DEFAULT_MANAGED, "Default Managed Repository", repoPath,
"default" );
- managedDefaultDir = new File( managedDefaultRepository.getRepoRoot() );
+ managedDefaultDir = managedDefaultRepository.getLocalPath();
ManagedRepositoryConfiguration repoConfig = managedDefaultRepository.getRepository();
@@ -480,7 +480,7 @@
managedLegacyRepository = createRepository( ID_LEGACY_MANAGED, "Legacy Managed Repository",
REPOPATH_LEGACY_MANAGED_TARGET, "legacy" );
- managedLegacyDir = new File( managedLegacyRepository.getRepoRoot() );
+ managedLegacyDir = managedLegacyRepository.getLocalPath();
repoConfig = managedLegacyRepository.getRepository();
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/HttpProxyTransferTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/HttpProxyTransferTest.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/HttpProxyTransferTest.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/HttpProxyTransferTest.java Tue Feb 17 22:43:44 2009
@@ -165,7 +165,7 @@
// Configure Connector (usually done within archiva.xml configuration)
addConnector();
- File expectedFile = new File( new File( managedDefaultRepository.getRepoRoot() ), path );
+ File expectedFile = new File( managedDefaultRepository.getLocalPath(), path );
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
// Attempt the proxy fetch.
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/MutableResourceContext.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/MutableResourceContext.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/MutableResourceContext.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/MutableResourceContext.java Tue Feb 17 22:43:44 2009
@@ -51,7 +51,7 @@
{
return repositoryId;
}
- return repositoryId;
+ return context.getRepositoryId();
}
/**
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/RepositoryManagerException.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/RepositoryManagerException.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/RepositoryManagerException.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/api/RepositoryManagerException.java Tue Feb 17 22:43:44 2009
@@ -33,4 +33,9 @@
{
super(message, cause);
}
+
+ public RepositoryManagerException(Throwable cause)
+ {
+ super(cause.getMessage(), cause);
+ }
}
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/pom.xml?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/pom.xml (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/pom.xml Tue Feb 17 22:43:44 2009
@@ -30,6 +30,10 @@
<dependencies>
<dependency>
<groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-repository-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
<artifactId>archiva-xml-tools</artifactId>
</dependency>
<dependency>
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java Tue Feb 17 22:43:44 2009
@@ -28,6 +28,7 @@
import java.io.File;
import java.util.Set;
+import org.apache.archiva.repository.api.Repository;
/**
* ManagedRepositoryContent interface for interacting with a managed repository in an abstract way,
@@ -35,7 +36,7 @@
*
* @version $Id$
*/
-public interface ManagedRepositoryContent
+public interface ManagedRepositoryContent extends Repository
{
/**
* Delete from the managed repository all files / directories associated with the
@@ -49,19 +50,6 @@
/**
* <p>
- * Convenience method to get the repository id.
- * </p>
- *
- * <p>
- * Equivalent to calling <code>.getRepository().getId()</code>
- * </p>
- *
- * @return the repository id.
- */
- public String getId();
-
- /**
- * <p>
* Gather up the list of related artifacts to the ArtifactReference provided.
* This typically inclues the pom files, and those things with
* classifiers (such as doc, source code, test libs, etc...)
@@ -78,20 +66,7 @@
*/
public Set<ArtifactReference> getRelatedArtifacts( ArtifactReference reference )
throws ContentNotFoundException, LayoutException;
-
- /**
- * <p>
- * Convenience method to get the repository (on disk) root directory.
- * </p>
- *
- * <p>
- * Equivalent to calling <code>.getRepository().getLocation()</code>
- * </p>
- *
- * @return the repository (on disk) root directory.
- */
- public String getRepoRoot();
-
+
/**
* Get the repository configuration associated with this
* repository content.
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java Tue Feb 17 22:43:44 2009
@@ -63,7 +63,7 @@
throws ContentNotFoundException
{
String path = toMetadataPath( reference );
- File projectPath = new File( getRepoRoot(), path );
+ File projectPath = new File( getLocalPath(), path );
File projectDir = projectPath.getParentFile();
if( projectDir.exists() && projectDir.isDirectory() )
@@ -83,6 +83,11 @@
}
}
+ public String getName()
+ {
+ return repository.getName();
+ }
+
public String getId()
{
return repository.getId();
@@ -137,9 +142,9 @@
return foundArtifacts;
}
- public String getRepoRoot()
+ public File getLocalPath()
{
- return repository.getLocation();
+ return new File(repository.getLocation());
}
public ManagedRepositoryConfiguration getRepository()
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java Tue Feb 17 22:43:44 2009
@@ -192,9 +192,9 @@
return foundArtifacts;
}
- public String getRepoRoot()
+ public File getLocalPath()
{
- return repository.getLocation();
+ return new File(repository.getLocation());
}
public ManagedRepositoryConfiguration getRepository()
@@ -202,6 +202,11 @@
return repository;
}
+ public String getName()
+ {
+ return repository.getName();
+ }
+
public Set<String> getVersions( ProjectReference reference )
throws ContentNotFoundException
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java Tue Feb 17 22:43:44 2009
@@ -179,7 +179,7 @@
return false;
}
- String pathParts[] = StringUtils.splitPreserveAllTokens( requestedPath, '/' );
+ String pathParts[] = StringUtils.split( requestedPath, '/' );
return pathParts.length == 3;
}
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java Tue Feb 17 22:43:44 2009
@@ -350,7 +350,7 @@
ProjectReference reference, String proxyId )
{
String metadataPath = getRepositorySpecificName( proxyId, toPath( reference ) );
- File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath );
+ File metadataFile = new File( managedRepository.getLocalPath(), metadataPath );
if ( !metadataFile.exists() || !metadataFile.isFile() )
{
@@ -375,7 +375,7 @@
String logicalResource, String proxyId )
{
String metadataPath = getRepositorySpecificName( proxyId, logicalResource );
- File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath );
+ File metadataFile = new File( managedRepository.getLocalPath(), metadataPath );
if ( !metadataFile.exists() || !metadataFile.isFile() )
{
@@ -400,7 +400,7 @@
VersionedReference reference, String proxyId )
{
String metadataPath = getRepositorySpecificName( proxyId, toPath( reference ) );
- File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath );
+ File metadataFile = new File( managedRepository.getLocalPath(), metadataPath );
if ( !metadataFile.exists() || !metadataFile.isFile() )
{
@@ -423,7 +423,7 @@
public void updateMetadata( ManagedRepositoryContent managedRepository, String logicalResource) throws RepositoryMetadataException
{
- final File metadataFile = new File(managedRepository.getRepoRoot(), logicalResource);
+ final File metadataFile = new File(managedRepository.getLocalPath(), logicalResource);
ArchivaRepositoryMetadata metadata = null;
//Gather and merge all metadata available
@@ -492,7 +492,7 @@
private List<ArchivaRepositoryMetadata> getMetadatasForManagedRepository( ManagedRepositoryContent managedRepository, String logicalResource )
{
List<ArchivaRepositoryMetadata> metadatas = new ArrayList<ArchivaRepositoryMetadata>();
- File file = new File(managedRepository.getRepoRoot(), logicalResource);
+ File file = new File(managedRepository.getLocalPath(), logicalResource);
if (file.exists())
{
try
@@ -547,7 +547,7 @@
public void updateMetadata( ManagedRepositoryContent managedRepository, ProjectReference reference )
throws LayoutException, RepositoryMetadataException, IOException, ContentNotFoundException
{
- File metadataFile = new File( managedRepository.getRepoRoot(), toPath( reference ) );
+ File metadataFile = new File( managedRepository.getLocalPath(), toPath( reference ) );
long lastUpdated = getExistingLastUpdated( metadataFile );
@@ -750,7 +750,7 @@
public void updateMetadata( ManagedRepositoryContent managedRepository, VersionedReference reference )
throws LayoutException, RepositoryMetadataException, IOException, ContentNotFoundException
{
- File metadataFile = new File( managedRepository.getRepoRoot(), toPath( reference ) );
+ File metadataFile = new File( managedRepository.getLocalPath(), toPath( reference ) );
long lastUpdated = getExistingLastUpdated( metadataFile );
@@ -912,7 +912,7 @@
path = path.substring( 0, idx );
}
- File repoDir = new File( managedRepository.getRepoRoot(), path );
+ final File repoDir = new File( managedRepository.getLocalPath(), path );
if ( !repoDir.exists() )
{
@@ -926,7 +926,7 @@
+ repoDir.getAbsolutePath() );
}
- File repoFiles[] = repoDir.listFiles();
+ final File repoFiles[] = repoDir.listFiles();
for ( int i = 0; i < repoFiles.length; i++ )
{
if ( repoFiles[i].isDirectory() )
@@ -935,7 +935,7 @@
continue;
}
- String relativePath = PathUtil.getRelative( managedRepository.getRepoRoot(), repoFiles[i] );
+ String relativePath = PathUtil.getRelative( managedRepository.getLocalPath().getAbsolutePath(), repoFiles[i] );
if ( filetypes.matchesArtifactPattern( relativePath ) )
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java Tue Feb 17 22:43:44 2009
@@ -347,7 +347,7 @@
ProjectReference reference )
throws LayoutException, IOException, SAXException, ParserConfigurationException
{
- File metadataFile = new File( repository.getRepoRoot(), tools.toPath( reference ) );
+ File metadataFile = new File( repository.getLocalPath(), tools.toPath( reference ) );
String actualMetadata = FileUtils.readFileToString( metadataFile, null );
DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadata, actualMetadata ) );
@@ -362,7 +362,7 @@
VersionedReference reference )
throws LayoutException, IOException, SAXException, ParserConfigurationException
{
- File metadataFile = new File( repository.getRepoRoot(), tools.toPath( reference ) );
+ File metadataFile = new File( repository.getLocalPath(), tools.toPath( reference ) );
String actualMetadata = FileUtils.readFileToString( metadataFile, null );
DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadata, actualMetadata ) );
@@ -536,7 +536,7 @@
File srcRepoDir = new File( "src/test/repositories/metadata-repository" );
File srcDir = new File( srcRepoDir, path );
- File destDir = new File( repo.getRepoRoot(), path );
+ File destDir = new File( repo.getLocalPath(), path );
assertTrue( "Source Dir exists: " + srcDir, srcDir.exists() );
destDir.mkdirs();
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/pom.xml Tue Feb 17 22:43:44 2009
@@ -27,6 +27,10 @@
<dependencies>
<dependency>
<groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-repository-layer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
<artifactId>archiva-repository-api</artifactId>
</dependency>
<dependency>
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryFactory.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryFactory.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryFactory.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/DefaultRepositoryFactory.java Tue Feb 17 22:43:44 2009
@@ -19,31 +19,29 @@
* under the License.
*/
-import java.io.File;
import java.util.HashMap;
import java.util.Map;
import org.apache.archiva.repository.api.Repository;
import org.apache.archiva.repository.api.RepositoryFactory;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.RepositoryContentFactory;
public class DefaultRepositoryFactory implements RepositoryFactory
{
- private final ArchivaConfiguration archivaConfiguration;
+ private final RepositoryContentFactory repositoryContentFactory;
- public DefaultRepositoryFactory(ArchivaConfiguration archivaConfiguration)
+ public DefaultRepositoryFactory(RepositoryContentFactory repositoryContentFactory)
{
- this.archivaConfiguration = archivaConfiguration;
+ this.repositoryContentFactory = repositoryContentFactory;
}
public Map<String, Repository> getRepositories()
{
+ final Map<String, ManagedRepositoryContent> contentMap = repositoryContentFactory.getManagedContentMap();
final HashMap<String, Repository> repositories = new HashMap<String, Repository>();
- for (final ManagedRepositoryConfiguration configuration : archivaConfiguration.getConfiguration().getManagedRepositories())
+ for (final String repositoryId : contentMap.keySet())
{
- final DefaultRepository repository = new DefaultRepository(configuration.getId(), configuration.getName(), new File(configuration.getLocation()));
- repositories.put(configuration.getId(), repository);
- repository.getLocalPath().mkdirs();
+ repositories.put(repositoryId, contentMap.get(repositoryId));
}
return repositories;
}
Added: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/LegacyRepositoryManager.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/LegacyRepositoryManager.java?rev=745282&view=auto
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/LegacyRepositoryManager.java (added)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/LegacyRepositoryManager.java Tue Feb 17 22:43:44 2009
@@ -0,0 +1,109 @@
+package org.apache.archiva.repository;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+import org.apache.archiva.repository.api.MutableResourceContext;
+import org.apache.archiva.repository.api.RepositoryManager;
+import org.apache.archiva.repository.api.RepositoryManagerException;
+import org.apache.archiva.repository.api.RepositoryManagerWeight;
+import org.apache.archiva.repository.api.ResourceContext;
+import org.apache.archiva.repository.api.Status;
+import org.apache.archiva.repository.api.SystemRepositoryManager;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.RepositoryContentFactory;
+import org.apache.maven.archiva.repository.RepositoryException;
+import org.apache.maven.archiva.repository.content.ManagedLegacyRepositoryContent;
+import org.apache.maven.archiva.repository.content.RepositoryRequest;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+@RepositoryManagerWeight(8000)
+public class LegacyRepositoryManager implements RepositoryManager
+{
+ private final ArchivaConfiguration archivaConfiguration;
+ private final SystemRepositoryManager systemRepositoryManager;
+ private final RepositoryContentFactory repositoryFactory;
+ private final RepositoryRequest repositoryRequest;
+
+ public LegacyRepositoryManager(ArchivaConfiguration archivaConfiguration,
+ SystemRepositoryManager systemRepositoryManager,
+ RepositoryContentFactory repositoryFactory,
+ RepositoryRequest repositoryRequest)
+ {
+ this.archivaConfiguration = archivaConfiguration;
+ this.systemRepositoryManager = systemRepositoryManager;
+ this.repositoryFactory = repositoryFactory;
+ this.repositoryRequest = repositoryRequest;
+ }
+
+ public ResourceContext handles(ResourceContext context)
+ {
+ final ManagedRepositoryContent repositoryContent = getManagedRepositoryContent(context);
+ if (repositoryContent != null)
+ {
+ if (isLegacyRepository(repositoryContent) || repositoryRequest.isLegacy(context.getLogicalPath()))
+ {
+ final MutableResourceContext resourceContext = new MutableResourceContext(context);
+
+ try
+ {
+ final String nativePath = repositoryRequest.toNativePath(resourceContext.getLogicalPath(), repositoryContent);
+ resourceContext.setLogicalPath(nativePath);
+ return resourceContext;
+ }
+ catch (LayoutException e)
+ {
+ return null;
+ }
+ }
+ }
+ return null;
+ }
+
+ public boolean read(ResourceContext context, OutputStream os)
+ {
+ return systemRepositoryManager.read(context, os);
+ }
+
+ public boolean write(ResourceContext context, InputStream is)
+ {
+ return systemRepositoryManager.write(context, is);
+ }
+
+ public List<Status> stat(ResourceContext context)
+ {
+ if (!(context instanceof MutableResourceContext))
+ {
+ throw new RepositoryManagerException("handles() should have returned a MutableResourceContext");
+ }
+
+ return systemRepositoryManager.stat(context);
+ }
+
+ public boolean exists(String repositoryId)
+ {
+ return systemRepositoryManager.exists(repositoryId);
+ }
+
+ private ManagedRepositoryContent getManagedRepositoryContent(ResourceContext context)
+ {
+ try
+ {
+ return repositoryFactory.getManagedRepositoryContent(context.getRepositoryId());
+ }
+ catch (RepositoryException e)
+ {
+ return null;
+ }
+ }
+
+ private boolean isLegacyRepository(ManagedRepositoryContent repositoryContent)
+ {
+ if (repositoryContent instanceof ManagedLegacyRepositoryContent)
+ {
+ return true;
+ }
+ return false;
+ }
+}
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml Tue Feb 17 22:43:44 2009
@@ -3,24 +3,32 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean name="repositoryFactory" class="org.apache.archiva.repository.DefaultRepositoryFactory">
+ <bean name="repositoryFactory" class="org.apache.archiva.repository.DefaultRepositoryFactory" lazy-init="true">
+ <constructor-arg ref="repositoryContentFactory"/>
+ </bean>
+
+ <bean name="legacyRepositoryManager" class="org.apache.archiva.repository.LegacyRepositoryManager" lazy-init="true">
<constructor-arg ref="archivaConfiguration"/>
+ <constructor-arg ref="systemRepositoryManager"/>
+ <constructor-arg ref="repositoryContentFactory"/>
+ <constructor-arg ref="repositoryRequest"/>
</bean>
+
<bean name="systemRepositoryManager" class="org.apache.archiva.repository.DefaultRepositoryManager" lazy-init="true">
<constructor-arg ref="repositoryFactory"/>
</bean>
- <bean name="groupRepositoryManager" class="org.apache.archiva.repository.GroupRepositoryManager">
+ <bean name="groupRepositoryManager" class="org.apache.archiva.repository.GroupRepositoryManager" lazy-init="true">
<constructor-arg ref="archivaConfiguration"/>
<constructor-arg ref="proxyRepositoryManager"/>
<constructor-arg ref="systemRepositoryManager"/>
</bean>
- <bean name="repositoryManagerFactory" class="org.apache.archiva.repository.DefaultRepositoryManagerFactory"/>
- <bean name="preRepositoryInterceptorFactory" class="org.apache.archiva.repository.DefaultRepositoryInterceptorFactory">
+ <bean name="repositoryManagerFactory" class="org.apache.archiva.repository.DefaultRepositoryManagerFactory" lazy-init="true"/>
+ <bean name="preRepositoryInterceptorFactory" class="org.apache.archiva.repository.DefaultRepositoryInterceptorFactory" lazy-init="true">
<constructor-arg value="org.apache.archiva.repository.api.interceptor.PreRepositoryInterceptor"/>
</bean>
- <bean name="postRepositoryInterceptorFactory" class="org.apache.archiva.repository.DefaultRepositoryInterceptorFactory">
+ <bean name="postRepositoryInterceptorFactory" class="org.apache.archiva.repository.DefaultRepositoryInterceptorFactory" lazy-init="true">
<constructor-arg value="org.apache.archiva.repository.api.interceptor.PostRepositoryInterceptor"/>
</bean>
</beans>
\ No newline at end of file
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/main/java/org/apache/archiva/web/servlet/RepositoryServlet.java Tue Feb 17 22:43:44 2009
@@ -173,6 +173,7 @@
if ("PUT".equals(req.getMethod()))
{
repositoryManager.write(context, req.getInputStream());
+ resp.setStatus(HttpServletResponse.SC_CREATED);
return;
}
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/AbstractRepositoryServletTestCase.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/AbstractRepositoryServletTestCase.java?rev=745282&r1=745281&r2=745282&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/AbstractRepositoryServletTestCase.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/AbstractRepositoryServletTestCase.java Tue Feb 17 22:43:44 2009
@@ -148,6 +148,8 @@
protected void setUp()
throws Exception
{
+ super.setUp();
+
String appserverBase = getTestFile( "target/appserver-base" ).getAbsolutePath();
System.setProperty( "appserver.base", appserverBase );
@@ -155,8 +157,6 @@
File testConfDest = new File( appserverBase, "conf/archiva.xml" );
FileUtils.copyFile( testConf, testConfDest );
- super.setUp();
-
archivaConfiguration = (ArchivaConfiguration) lookup( ArchivaConfiguration.class );
repoRootInternal = new File( appserverBase, "data/repositories/internal" );
Configuration config = archivaConfiguration.getConfiguration();
@@ -166,15 +166,14 @@
CacheManager.getInstance().removeCache( "url-failures-cache" );
- HttpUnitOptions.setExceptionsThrownOnErrorStatus( false );
-
- sr = new ServletRunner( getTestFile( "src/test/resources/WEB-INF/web.xml" ) );
+ HttpUnitOptions.setExceptionsThrownOnErrorStatus( false );
final Hashtable<String, String> params = new Hashtable<String, String>();
params.put(RepositoryServlet.REPOSITORY_MANAGER_FACTORY, "repositoryManagerFactory");
params.put(RepositoryServlet.PREREPOSITORY_INTERCEPTOR_FACTORY, "preRepositoryInterceptorFactory");
params.put(RepositoryServlet.POSTREPOSITORY_INTERCEPTOR_FACTORY, "postRepositoryInterceptorFactory");
+ sr = new ServletRunner( getTestFile( "src/test/resources/WEB-INF/web.xml" ) );
sr.registerServlet( "/repository/*", RepositoryServlet.class.getName(), params );
sc = sr.newClient();
}