mirror of
https://github.com/apache/archiva.git
synced 2025-03-08 01:43:06 +00:00
Adapting the web modules to the new repository api
This commit is contained in:
parent
32ff2ca265
commit
d6120d6c22
@ -18,6 +18,8 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import org.apache.archiva.admin.model.beans.ManagedRepository;
|
import org.apache.archiva.admin.model.beans.ManagedRepository;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
@ -55,7 +55,6 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.archiva</groupId>
|
<groupId>org.apache.archiva</groupId>
|
||||||
<artifactId>archiva-configuration</artifactId>
|
<artifactId>archiva-configuration</artifactId>
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.archiva</groupId>
|
<groupId>org.apache.archiva</groupId>
|
||||||
|
@ -37,8 +37,11 @@
|
|||||||
import org.apache.archiva.redback.rest.services.RedbackAuthenticationThreadLocal;
|
import org.apache.archiva.redback.rest.services.RedbackAuthenticationThreadLocal;
|
||||||
import org.apache.archiva.redback.rest.services.RedbackRequestInformation;
|
import org.apache.archiva.redback.rest.services.RedbackRequestInformation;
|
||||||
import org.apache.archiva.redback.users.User;
|
import org.apache.archiva.redback.users.User;
|
||||||
|
import org.apache.archiva.repository.ManagedRepository;
|
||||||
|
import org.apache.archiva.repository.ManagedRepositoryContent;
|
||||||
import org.apache.archiva.repository.RepositoryContentFactory;
|
import org.apache.archiva.repository.RepositoryContentFactory;
|
||||||
import org.apache.archiva.repository.RepositoryException;
|
import org.apache.archiva.repository.RepositoryException;
|
||||||
|
import org.apache.archiva.repository.RepositoryRegistry;
|
||||||
import org.apache.archiva.repository.events.AuditListener;
|
import org.apache.archiva.repository.events.AuditListener;
|
||||||
import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
|
import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
|
||||||
import org.apache.archiva.rest.services.utils.ArtifactBuilder;
|
import org.apache.archiva.rest.services.utils.ArtifactBuilder;
|
||||||
@ -98,6 +101,9 @@ public abstract class AbstractRestService
|
|||||||
@Inject
|
@Inject
|
||||||
protected ManagedRepositoryAdmin managedRepositoryAdmin;
|
protected ManagedRepositoryAdmin managedRepositoryAdmin;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
protected RepositoryRegistry repositoryRegistry;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
protected RepositoryContentFactory repositoryContentFactory;
|
protected RepositoryContentFactory repositoryContentFactory;
|
||||||
|
|
||||||
@ -322,10 +328,14 @@ protected List<Artifact> buildArtifacts( Collection<ArtifactMetadata> artifactMe
|
|||||||
if ( repoId == null ) {
|
if ( repoId == null ) {
|
||||||
throw new IllegalStateException( "Repository Id is null" );
|
throw new IllegalStateException( "Repository Id is null" );
|
||||||
}
|
}
|
||||||
|
ManagedRepository repo = repositoryRegistry.getManagedRepository( repoId );
|
||||||
|
if (repo==null) {
|
||||||
|
throw new RepositoryException( "Repository not found "+repoId );
|
||||||
|
}
|
||||||
|
ManagedRepositoryContent content = repo.getContent( );
|
||||||
ArtifactBuilder builder =
|
ArtifactBuilder builder =
|
||||||
new ArtifactBuilder().forArtifactMetadata( artifact ).withManagedRepositoryContent(
|
new ArtifactBuilder().forArtifactMetadata( artifact ).withManagedRepositoryContent(
|
||||||
repositoryContentFactory.getManagedRepositoryContent( repoId ) );
|
content );
|
||||||
Artifact art = builder.build();
|
Artifact art = builder.build();
|
||||||
art.setUrl( getArtifactUrl( art, repositoryId ) );
|
art.setUrl( getArtifactUrl( art, repositoryId ) );
|
||||||
artifacts.add( art );
|
artifacts.add( art );
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
import org.apache.archiva.repository.RepositoryContentFactory;
|
import org.apache.archiva.repository.RepositoryContentFactory;
|
||||||
import org.apache.archiva.repository.RepositoryException;
|
import org.apache.archiva.repository.RepositoryException;
|
||||||
import org.apache.archiva.repository.RepositoryNotFoundException;
|
import org.apache.archiva.repository.RepositoryNotFoundException;
|
||||||
|
import org.apache.archiva.repository.RepositoryRegistry;
|
||||||
import org.apache.archiva.repository.metadata.MetadataTools;
|
import org.apache.archiva.repository.metadata.MetadataTools;
|
||||||
import org.apache.archiva.rest.api.model.*;
|
import org.apache.archiva.rest.api.model.*;
|
||||||
import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
|
import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
|
||||||
@ -82,9 +83,6 @@ public class DefaultBrowseService
|
|||||||
@Inject
|
@Inject
|
||||||
private DependencyTreeBuilder dependencyTreeBuilder;
|
private DependencyTreeBuilder dependencyTreeBuilder;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private RepositoryContentFactory repositoryContentFactory;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Named( value = "repositoryProxyConnectors#default" )
|
@Named( value = "repositoryProxyConnectors#default" )
|
||||||
private RepositoryProxyConnectors connectors;
|
private RepositoryProxyConnectors connectors;
|
||||||
@ -93,6 +91,15 @@ public class DefaultBrowseService
|
|||||||
@Named( value = "browse#versionMetadata" )
|
@Named( value = "browse#versionMetadata" )
|
||||||
private Cache<String, ProjectVersionMetadata> versionMetadataCache;
|
private Cache<String, ProjectVersionMetadata> versionMetadataCache;
|
||||||
|
|
||||||
|
private ManagedRepositoryContent getManagedRepositoryContent(String id) throws RepositoryException
|
||||||
|
{
|
||||||
|
org.apache.archiva.repository.ManagedRepository repo = repositoryRegistry.getManagedRepository( id );
|
||||||
|
if (repo==null) {
|
||||||
|
throw new RepositoryException( "Could not find repository "+id );
|
||||||
|
}
|
||||||
|
return repo.getContent();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BrowseResult getRootGroups( String repositoryId )
|
public BrowseResult getRootGroups( String repositoryId )
|
||||||
throws ArchivaRestServiceException
|
throws ArchivaRestServiceException
|
||||||
@ -687,7 +694,7 @@ public List<ArtifactContentEntry> getArtifactContentEntries( String groupId, Str
|
|||||||
{
|
{
|
||||||
|
|
||||||
ManagedRepositoryContent managedRepositoryContent =
|
ManagedRepositoryContent managedRepositoryContent =
|
||||||
repositoryContentFactory.getManagedRepositoryContent( repoId );
|
getManagedRepositoryContent( repoId );
|
||||||
ArchivaArtifact archivaArtifact = new ArchivaArtifact( groupId, artifactId, version, classifier,
|
ArchivaArtifact archivaArtifact = new ArchivaArtifact( groupId, artifactId, version, classifier,
|
||||||
StringUtils.isEmpty( type ) ? "jar" : type,
|
StringUtils.isEmpty( type ) ? "jar" : type,
|
||||||
repoId );
|
repoId );
|
||||||
@ -763,8 +770,16 @@ public ArtifactContent getArtifactContentText( String groupId, String artifactId
|
|||||||
for ( String repoId : selectedRepos )
|
for ( String repoId : selectedRepos )
|
||||||
{
|
{
|
||||||
|
|
||||||
ManagedRepositoryContent managedRepositoryContent =
|
ManagedRepositoryContent managedRepositoryContent = null;
|
||||||
repositoryContentFactory.getManagedRepositoryContent( repoId );
|
try
|
||||||
|
{
|
||||||
|
managedRepositoryContent = getManagedRepositoryContent( repoId );
|
||||||
|
}
|
||||||
|
catch ( RepositoryException e )
|
||||||
|
{
|
||||||
|
log.error("No repository content found for "+repoId);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
ArchivaArtifact archivaArtifact = new ArchivaArtifact( groupId, artifactId, version, classifier,
|
ArchivaArtifact archivaArtifact = new ArchivaArtifact( groupId, artifactId, version, classifier,
|
||||||
StringUtils.isEmpty( type ) ? "jar" : type,
|
StringUtils.isEmpty( type ) ? "jar" : type,
|
||||||
repoId );
|
repoId );
|
||||||
@ -797,18 +812,6 @@ public ArtifactContent getArtifactContentText( String groupId, String artifactId
|
|||||||
throw new ArchivaRestServiceException( e.getMessage(),
|
throw new ArchivaRestServiceException( e.getMessage(),
|
||||||
Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), e );
|
Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), e );
|
||||||
}
|
}
|
||||||
catch ( RepositoryNotFoundException e )
|
|
||||||
{
|
|
||||||
log.error( e.getMessage(), e );
|
|
||||||
throw new ArchivaRestServiceException( e.getMessage(),
|
|
||||||
Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), e );
|
|
||||||
}
|
|
||||||
catch ( RepositoryException e )
|
|
||||||
{
|
|
||||||
log.error( e.getMessage(), e );
|
|
||||||
throw new ArchivaRestServiceException( e.getMessage(),
|
|
||||||
Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), e );
|
|
||||||
}
|
|
||||||
log.debug( "artifact: {}:{}:{}:{}:{} not found", groupId, artifactId, version, classifier, type );
|
log.debug( "artifact: {}:{}:{}:{}:{} not found", groupId, artifactId, version, classifier, type );
|
||||||
// 404 ?
|
// 404 ?
|
||||||
return new ArtifactContent();
|
return new ArtifactContent();
|
||||||
@ -835,8 +838,8 @@ public Boolean artifactAvailable( String groupId, String artifactId, String vers
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ManagedRepositoryContent managedRepositoryContent =
|
ManagedRepositoryContent managedRepositoryContent = getManagedRepositoryContent( repoId );
|
||||||
repositoryContentFactory.getManagedRepositoryContent( repoId );
|
|
||||||
// FIXME default to jar which can be wrong for war zip etc....
|
// FIXME default to jar which can be wrong for war zip etc....
|
||||||
ArchivaArtifact archivaArtifact = new ArchivaArtifact( groupId, artifactId, version,
|
ArchivaArtifact archivaArtifact = new ArchivaArtifact( groupId, artifactId, version,
|
||||||
StringUtils.isEmpty( classifier )
|
StringUtils.isEmpty( classifier )
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
import org.apache.archiva.redback.users.UserManagerException;
|
import org.apache.archiva.redback.users.UserManagerException;
|
||||||
import org.apache.archiva.redback.users.UserNotFoundException;
|
import org.apache.archiva.redback.users.UserNotFoundException;
|
||||||
import org.apache.archiva.repository.*;
|
import org.apache.archiva.repository.*;
|
||||||
|
import org.apache.archiva.repository.content.maven2.ManagedDefaultRepositoryContent;
|
||||||
import org.apache.archiva.repository.events.RepositoryListener;
|
import org.apache.archiva.repository.events.RepositoryListener;
|
||||||
import org.apache.archiva.repository.metadata.MetadataTools;
|
import org.apache.archiva.repository.metadata.MetadataTools;
|
||||||
import org.apache.archiva.repository.metadata.RepositoryMetadataException;
|
import org.apache.archiva.repository.metadata.RepositoryMetadataException;
|
||||||
@ -101,6 +102,9 @@ public class DefaultRepositoriesService
|
|||||||
@Named(value = "taskExecutor#indexing")
|
@Named(value = "taskExecutor#indexing")
|
||||||
private ArchivaIndexingTaskExecutor archivaIndexingTaskExecutor;
|
private ArchivaIndexingTaskExecutor archivaIndexingTaskExecutor;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private RepositoryRegistry repositoryRegistry;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ManagedRepositoryAdmin managedRepositoryAdmin;
|
private ManagedRepositoryAdmin managedRepositoryAdmin;
|
||||||
|
|
||||||
@ -110,9 +114,6 @@ public class DefaultRepositoriesService
|
|||||||
@Inject
|
@Inject
|
||||||
private SecuritySystem securitySystem;
|
private SecuritySystem securitySystem;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private RepositoryContentFactory repositoryFactory;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Named(value = "archivaTaskScheduler#repository")
|
@Named(value = "archivaTaskScheduler#repository")
|
||||||
private ArchivaTaskScheduler scheduler;
|
private ArchivaTaskScheduler scheduler;
|
||||||
@ -180,6 +181,15 @@ public Boolean removeScanningTaskFromQueue( String repositoryId )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private ManagedRepositoryContent getManagedRepositoryContent(String id) throws RepositoryException
|
||||||
|
{
|
||||||
|
org.apache.archiva.repository.ManagedRepository repo = repositoryRegistry.getManagedRepository( id );
|
||||||
|
if (repo==null) {
|
||||||
|
throw new RepositoryException( "Repository not found "+id );
|
||||||
|
}
|
||||||
|
return repo.getContent();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean scanRepositoryNow( String repositoryId, boolean fullScan )
|
public Boolean scanRepositoryNow( String repositoryId, boolean fullScan )
|
||||||
throws ArchivaRestServiceException
|
throws ArchivaRestServiceException
|
||||||
@ -187,7 +197,8 @@ public Boolean scanRepositoryNow( String repositoryId, boolean fullScan )
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ManagedRepository repository = managedRepositoryAdmin.getManagedRepository( repositoryId );
|
|
||||||
|
org.apache.archiva.repository.ManagedRepository repository = repositoryRegistry.getManagedRepository( repositoryId );
|
||||||
|
|
||||||
IndexingContext context = managedRepositoryAdmin.createIndexContext( repository );
|
IndexingContext context = managedRepositoryAdmin.createIndexContext( repository );
|
||||||
|
|
||||||
@ -367,7 +378,7 @@ public Boolean copyArtifact( ArtifactTransferRequest artifactTransferRequest )
|
|||||||
{
|
{
|
||||||
|
|
||||||
ManagedRepositoryContent sourceRepository =
|
ManagedRepositoryContent sourceRepository =
|
||||||
repositoryFactory.getManagedRepositoryContent( artifactTransferRequest.getRepositoryId() );
|
getManagedRepositoryContent( artifactTransferRequest.getRepositoryId() );
|
||||||
|
|
||||||
String artifactSourcePath = sourceRepository.toPath( artifactReference );
|
String artifactSourcePath = sourceRepository.toPath( artifactReference );
|
||||||
|
|
||||||
@ -388,7 +399,7 @@ public Boolean copyArtifact( ArtifactTransferRequest artifactTransferRequest )
|
|||||||
}
|
}
|
||||||
|
|
||||||
ManagedRepositoryContent targetRepository =
|
ManagedRepositoryContent targetRepository =
|
||||||
repositoryFactory.getManagedRepositoryContent( artifactTransferRequest.getTargetRepositoryId() );
|
getManagedRepositoryContent( artifactTransferRequest.getTargetRepositoryId() );
|
||||||
|
|
||||||
String artifactPath = targetRepository.toPath( artifactReference );
|
String artifactPath = targetRepository.toPath( artifactReference );
|
||||||
|
|
||||||
@ -646,7 +657,7 @@ public Boolean removeProjectVersion( String repositoryId, String namespace, Stri
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ManagedRepositoryContent repository = repositoryFactory.getManagedRepositoryContent( repositoryId );
|
ManagedRepositoryContent repository = getManagedRepositoryContent( repositoryId );
|
||||||
|
|
||||||
VersionedReference ref = new VersionedReference();
|
VersionedReference ref = new VersionedReference();
|
||||||
ref.setArtifactId( projectId );
|
ref.setArtifactId( projectId );
|
||||||
@ -767,7 +778,7 @@ public Boolean deleteArtifact( Artifact artifact )
|
|||||||
ref.setGroupId( artifact.getGroupId() );
|
ref.setGroupId( artifact.getGroupId() );
|
||||||
ref.setVersion( artifact.getVersion() );
|
ref.setVersion( artifact.getVersion() );
|
||||||
|
|
||||||
ManagedRepositoryContent repository = repositoryFactory.getManagedRepositoryContent( repositoryId );
|
ManagedRepositoryContent repository = getManagedRepositoryContent( repositoryId );
|
||||||
|
|
||||||
ArtifactReference artifactReference = new ArtifactReference();
|
ArtifactReference artifactReference = new ArtifactReference();
|
||||||
artifactReference.setArtifactId( artifact.getArtifactId() );
|
artifactReference.setArtifactId( artifact.getArtifactId() );
|
||||||
@ -977,7 +988,7 @@ public Boolean deleteGroupId( String groupId, String repositoryId )
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ManagedRepositoryContent repository = repositoryFactory.getManagedRepositoryContent( repositoryId );
|
ManagedRepositoryContent repository = getManagedRepositoryContent( repositoryId );
|
||||||
|
|
||||||
repository.deleteGroupId( groupId );
|
repository.deleteGroupId( groupId );
|
||||||
|
|
||||||
@ -1038,7 +1049,7 @@ public Boolean deleteProject( String groupId, String projectId, String repositor
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ManagedRepositoryContent repository = repositoryFactory.getManagedRepositoryContent( repositoryId );
|
ManagedRepositoryContent repository = getManagedRepositoryContent( repositoryId );
|
||||||
|
|
||||||
repository.deleteProject( groupId, projectId );
|
repository.deleteProject( groupId, projectId );
|
||||||
}
|
}
|
||||||
@ -1100,18 +1111,13 @@ public RepositoryScanStatistics scanRepositoryDirectoriesNow( String repositoryI
|
|||||||
long sinceWhen = RepositoryScanner.FRESH_SCAN;
|
long sinceWhen = RepositoryScanner.FRESH_SCAN;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return repoScanner.scan( getManagedRepositoryAdmin().getManagedRepository( repositoryId ), sinceWhen );
|
return repoScanner.scan( repositoryRegistry.getManagedRepository( repositoryId ), sinceWhen );
|
||||||
}
|
}
|
||||||
catch ( RepositoryScannerException e )
|
catch ( RepositoryScannerException e )
|
||||||
{
|
{
|
||||||
log.error( e.getMessage(), e );
|
log.error( e.getMessage(), e );
|
||||||
throw new ArchivaRestServiceException( "RepositoryScannerException exception: " + e.getMessage(), 500, e );
|
throw new ArchivaRestServiceException( "RepositoryScannerException exception: " + e.getMessage(), 500, e );
|
||||||
}
|
}
|
||||||
catch ( RepositoryAdminException e )
|
|
||||||
{
|
|
||||||
log.error( e.getMessage(), e );
|
|
||||||
throw new ArchivaRestServiceException( "RepositoryScannerException exception: " + e.getMessage(), 500, e );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1191,16 +1197,6 @@ public void setManagedRepositoryAdmin( ManagedRepositoryAdmin managedRepositoryA
|
|||||||
this.managedRepositoryAdmin = managedRepositoryAdmin;
|
this.managedRepositoryAdmin = managedRepositoryAdmin;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RepositoryContentFactory getRepositoryFactory()
|
|
||||||
{
|
|
||||||
return repositoryFactory;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepositoryFactory( RepositoryContentFactory repositoryFactory )
|
|
||||||
{
|
|
||||||
this.repositoryFactory = repositoryFactory;
|
|
||||||
}
|
|
||||||
|
|
||||||
public RepositorySessionFactory getRepositorySessionFactory()
|
public RepositorySessionFactory getRepositorySessionFactory()
|
||||||
{
|
{
|
||||||
return repositorySessionFactory;
|
return repositorySessionFactory;
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.apache.archiva.admin.model.RepositoryAdminException;
|
||||||
|
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
|
||||||
import org.apache.archiva.redback.components.cache.Cache;
|
import org.apache.archiva.redback.components.cache.Cache;
|
||||||
import org.apache.archiva.redback.components.cache.CacheStatistics;
|
import org.apache.archiva.redback.components.cache.CacheStatistics;
|
||||||
import org.apache.archiva.redback.components.taskqueue.TaskQueue;
|
import org.apache.archiva.redback.components.taskqueue.TaskQueue;
|
||||||
@ -57,6 +59,8 @@ public class DefaultSystemStatusService
|
|||||||
|
|
||||||
private RepositoryScanner scanner;
|
private RepositoryScanner scanner;
|
||||||
|
|
||||||
|
ManagedRepositoryAdmin managedRepositoryAdmin;
|
||||||
|
|
||||||
// display spring scheduled
|
// display spring scheduled
|
||||||
//@Inject @Named (value="springScheduler");
|
//@Inject @Named (value="springScheduler");
|
||||||
|
|
||||||
@ -69,6 +73,8 @@ public DefaultSystemStatusService( ApplicationContext applicationContext, Reposi
|
|||||||
queues = getBeansOfType( applicationContext, TaskQueue.class );
|
queues = getBeansOfType( applicationContext, TaskQueue.class );
|
||||||
|
|
||||||
caches = getBeansOfType( applicationContext, Cache.class );
|
caches = getBeansOfType( applicationContext, Cache.class );
|
||||||
|
|
||||||
|
managedRepositoryAdmin = applicationContext.getBean( ManagedRepositoryAdmin.class );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -178,11 +184,19 @@ public List<RepositoryScannerStatistics> getRepositoryScannerStatistics()
|
|||||||
List<RepositoryScannerStatistics> repositoryScannerStatisticsList =
|
List<RepositoryScannerStatistics> repositoryScannerStatisticsList =
|
||||||
new ArrayList<RepositoryScannerStatistics>( repositoryScannerInstances.size() );
|
new ArrayList<RepositoryScannerStatistics>( repositoryScannerInstances.size() );
|
||||||
|
|
||||||
|
|
||||||
for ( RepositoryScannerInstance instance : repositoryScannerInstances )
|
for ( RepositoryScannerInstance instance : repositoryScannerInstances )
|
||||||
{
|
{
|
||||||
RepositoryScannerStatistics repositoryScannerStatistics = new RepositoryScannerStatistics();
|
RepositoryScannerStatistics repositoryScannerStatistics = new RepositoryScannerStatistics();
|
||||||
repositoryScannerStatisticsList.add( repositoryScannerStatistics );
|
repositoryScannerStatisticsList.add( repositoryScannerStatistics );
|
||||||
repositoryScannerStatistics.setManagedRepository( instance.getRepository() );
|
try
|
||||||
|
{
|
||||||
|
repositoryScannerStatistics.setManagedRepository( managedRepositoryAdmin.getManagedRepository( instance.getRepository().getId()) );
|
||||||
|
}
|
||||||
|
catch ( RepositoryAdminException e )
|
||||||
|
{
|
||||||
|
log.error("Could not retrieve repository '{}'", instance.getRepository().getId());
|
||||||
|
}
|
||||||
repositoryScannerStatistics.setNewFileCount( instance.getStats().getNewFileCount() );
|
repositoryScannerStatistics.setNewFileCount( instance.getStats().getNewFileCount() );
|
||||||
repositoryScannerStatistics.setTotalFileCount( instance.getStats().getTotalFileCount() );
|
repositoryScannerStatistics.setTotalFileCount( instance.getStats().getTotalFileCount() );
|
||||||
repositoryScannerStatistics.setConsumerScanningStatistics( mapConsumerScanningStatistics( instance ) );
|
repositoryScannerStatistics.setConsumerScanningStatistics( mapConsumerScanningStatistics( instance ) );
|
||||||
|
@ -43,6 +43,7 @@
|
|||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Olivier Lamy
|
* @author Olivier Lamy
|
||||||
@ -320,7 +321,7 @@ protected CommonServices getCommonServices( String authzHeader )
|
|||||||
protected ManagedRepository getTestManagedRepository()
|
protected ManagedRepository getTestManagedRepository()
|
||||||
{
|
{
|
||||||
String location = Paths.get( org.apache.archiva.common.utils.FileUtils.getBasedir(), "target/test-repo" ).toAbsolutePath().toString();
|
String location = Paths.get( org.apache.archiva.common.utils.FileUtils.getBasedir(), "target/test-repo" ).toAbsolutePath().toString();
|
||||||
return new ManagedRepository( "TEST", "test", location, "default", true, true, false, "2 * * * * ?", null,
|
return new ManagedRepository( Locale.getDefault(), "TEST", "test", location, "default", true, true, false, "2 * * * * ?", null,
|
||||||
false, 2, 3, true, false, "my nice repo", false );
|
false, 2, 3, true, false, "my nice repo", false );
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -429,7 +430,7 @@ protected void createAndIndexRepo( String testRepoId, String repoPath, boolean s
|
|||||||
getManagedRepositoriesService( authorizationHeader ).deleteManagedRepository( testRepoId, false );
|
getManagedRepositoriesService( authorizationHeader ).deleteManagedRepository( testRepoId, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
ManagedRepository managedRepository = new ManagedRepository();
|
ManagedRepository managedRepository = new ManagedRepository(Locale.getDefault());
|
||||||
managedRepository.setId( testRepoId );
|
managedRepository.setId( testRepoId );
|
||||||
managedRepository.setName( "test repo" );
|
managedRepository.setName( "test repo" );
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
import javax.ws.rs.ForbiddenException;
|
import javax.ws.rs.ForbiddenException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Olivier Lamy
|
* @author Olivier Lamy
|
||||||
@ -201,21 +202,21 @@ public void checkRemoteConnectivity3()
|
|||||||
|
|
||||||
RemoteRepository getRemoteRepository()
|
RemoteRepository getRemoteRepository()
|
||||||
{
|
{
|
||||||
return new RemoteRepository( "id-new", "new one", "http://foo.com", "default", "foo", "foopassword", 120,
|
return new RemoteRepository( Locale.getDefault( ), "id-new", "new one", "http://foo.com", "default", "foo", "foopassword", 120,
|
||||||
"cool repo" );
|
"cool repo" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
RemoteRepository getRemoteMavenRepository()
|
RemoteRepository getRemoteMavenRepository()
|
||||||
{
|
{
|
||||||
return new RemoteRepository( "id-maven1", "Maven1", "http://repo.maven.apache.org/maven2", "default", "foo", "foopassword", 120,
|
return new RemoteRepository( Locale.getDefault( ),"id-maven1", "Maven1", "http://repo.maven.apache.org/maven2", "default", "foo", "foopassword", 120,
|
||||||
"cool repo3" );
|
"cool repo3" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
RemoteRepository getRemoteOracleRepository()
|
RemoteRepository getRemoteOracleRepository()
|
||||||
{
|
{
|
||||||
return new RemoteRepository( "id-oracle", "Oracle", "http://download.oracle.com/maven", "default", "foo", "foopassword", 120,
|
return new RemoteRepository( Locale.getDefault( ),"id-oracle", "Oracle", "http://download.oracle.com/maven", "default", "foo", "foopassword", 120,
|
||||||
"cool repo4" );
|
"cool repo4" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
@ -544,7 +545,7 @@ protected void cleanSnapshotRepo()
|
|||||||
protected ManagedRepository getTestManagedRepository( String id, String path )
|
protected ManagedRepository getTestManagedRepository( String id, String path )
|
||||||
{
|
{
|
||||||
String location = Paths.get( org.apache.archiva.common.utils.FileUtils.getBasedir(), "target/" + path ).toAbsolutePath().toString();
|
String location = Paths.get( org.apache.archiva.common.utils.FileUtils.getBasedir(), "target/" + path ).toAbsolutePath().toString();
|
||||||
return new ManagedRepository( id, id, location, "default", true, true, true, "2 * * * * ?", null, false, 80, 80,
|
return new ManagedRepository( Locale.getDefault(), id, id, location, "default", true, true, true, "2 * * * * ?", null, false, 80, 80,
|
||||||
true, false );
|
true, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,10 @@
|
|||||||
|
|
||||||
<context:annotation-config/>
|
<context:annotation-config/>
|
||||||
<context:component-scan
|
<context:component-scan
|
||||||
base-package="org.apache.archiva.redback.keys,org.apache.archiva.rest.services.utils"/>
|
base-package="org.apache.archiva.redback.keys,org.apache.archiva.rest.services.utils,org.apache.archiva.repository.content.maven2"/>
|
||||||
|
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
|
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
|
||||||
<property name="properties">
|
<property name="properties">
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
import org.apache.archiva.redback.users.User;
|
import org.apache.archiva.redback.users.User;
|
||||||
import org.apache.archiva.redback.users.UserManager;
|
import org.apache.archiva.redback.users.UserManager;
|
||||||
import org.apache.archiva.redback.users.UserManagerException;
|
import org.apache.archiva.redback.users.UserManagerException;
|
||||||
|
import org.apache.archiva.repository.RepositoryRegistry;
|
||||||
import org.apache.archiva.security.common.ArchivaRoleConstants;
|
import org.apache.archiva.security.common.ArchivaRoleConstants;
|
||||||
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
|
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
@ -79,6 +80,9 @@ public abstract class AbstractSecurityTest
|
|||||||
@Named(value = "archivaConfiguration#default")
|
@Named(value = "archivaConfiguration#default")
|
||||||
private ArchivaConfiguration archivaConfiguration;
|
private ArchivaConfiguration archivaConfiguration;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private RepositoryRegistry repositoryRegistry;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
protected UserRepositories userRepos;
|
protected UserRepositories userRepos;
|
||||||
|
|
||||||
@ -94,6 +98,7 @@ protected void setupRepository( String repoId )
|
|||||||
{
|
{
|
||||||
archivaConfiguration.getConfiguration().addManagedRepository( repoConfig );
|
archivaConfiguration.getConfiguration().addManagedRepository( repoConfig );
|
||||||
}
|
}
|
||||||
|
repositoryRegistry.reload();
|
||||||
|
|
||||||
// Add repo roles to security.
|
// Add repo roles to security.
|
||||||
userRepos.createMissingRepositoryRoles( repoId );
|
userRepos.createMissingRepositoryRoles( repoId );
|
||||||
|
@ -156,7 +156,7 @@ public boolean unQueueTask( RepositoryTask task )
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getFilePath( String requestPath, ManagedRepository managedRepository )
|
public String getFilePath( String requestPath, org.apache.archiva.repository.ManagedRepository managedRepository )
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,9 @@
|
|||||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
|
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
|
||||||
default-lazy-init="true">
|
default-lazy-init="true">
|
||||||
|
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
<bean name="securitySystem#testable" class="org.apache.archiva.redback.system.DefaultSecuritySystem">
|
<bean name="securitySystem#testable" class="org.apache.archiva.redback.system.DefaultSecuritySystem">
|
||||||
<property name="userManager" ref="userManager#memory"/>
|
<property name="userManager" ref="userManager#memory"/>
|
||||||
<property name="keyManager" ref="keyManager#memory"/>
|
<property name="keyManager" ref="keyManager#memory"/>
|
||||||
|
@ -18,10 +18,10 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.apache.archiva.admin.model.beans.ManagedRepository;
|
|
||||||
import org.apache.archiva.consumers.ConsumerException;
|
import org.apache.archiva.consumers.ConsumerException;
|
||||||
import org.apache.archiva.consumers.ConsumerMonitor;
|
import org.apache.archiva.consumers.ConsumerMonitor;
|
||||||
import org.apache.archiva.consumers.InvalidRepositoryContentConsumer;
|
import org.apache.archiva.consumers.InvalidRepositoryContentConsumer;
|
||||||
|
import org.apache.archiva.repository.ManagedRepository;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -84,7 +84,7 @@ index.directory=Index Directory
|
|||||||
retentionCount=Retention Count
|
retentionCount=Retention Count
|
||||||
snapshots=Snapshots
|
snapshots=Snapshots
|
||||||
blockRedeployments=Block Redeployments
|
blockRedeployments=Block Redeployments
|
||||||
retentionTime=Days Older
|
retentionPeriod=Days Older
|
||||||
cronExpression=Cron Expression
|
cronExpression=Cron Expression
|
||||||
cronExpression.help.title=Cron Expression Format
|
cronExpression.help.title=Cron Expression Format
|
||||||
cronExpression.help.content= Quartz cron is used. Documentation is: <a target="_blank" href="http://quartz-scheduler.org/documentation/quartz-2.1.x/cookbook/">here</a>
|
cronExpression.help.content= Quartz cron is used. Documentation is: <a target="_blank" href="http://quartz-scheduler.org/documentation/quartz-2.1.x/cookbook/">here</a>
|
||||||
@ -129,8 +129,8 @@ managedRepository.location.help.title=Location
|
|||||||
managedRepository.location.help.content=Location on File System (can be relative to Archiva base directory or absolute path)
|
managedRepository.location.help.content=Location on File System (can be relative to Archiva base directory or absolute path)
|
||||||
managedRepository.indexDirectory.help.title=Index Directory
|
managedRepository.indexDirectory.help.title=Index Directory
|
||||||
managedRepository.indexDirectory.help.content=Path to the Maven Index directory
|
managedRepository.indexDirectory.help.content=Path to the Maven Index directory
|
||||||
managedRepository.retentionTime.help.title=Days Older
|
managedRepository.retentionPeriod.help.title=Days Older
|
||||||
managedRepository.retentionTime.help.content=For snapshots repositories, maximum file days age you want to keep
|
managedRepository.retentionPeriod.help.content=For snapshots repositories, maximum file days age you want to keep
|
||||||
managedRepository.retentionCount.help.title=Retention Count
|
managedRepository.retentionCount.help.title=Retention Count
|
||||||
managedRepository.retentionCount.help.content=For snapshots repositories, maximum of files you want to keep.
|
managedRepository.retentionCount.help.content=For snapshots repositories, maximum of files you want to keep.
|
||||||
managedRepository.description.help.content=A free description for your repository
|
managedRepository.description.help.content=A free description for your repository
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Olivier Lamy
|
* @author Olivier Lamy
|
||||||
@ -88,7 +89,7 @@ protected String createAndScanRepo()
|
|||||||
FileUtils.deleteDirectory( tmpIndexDir.toFile() );
|
FileUtils.deleteDirectory( tmpIndexDir.toFile() );
|
||||||
}
|
}
|
||||||
String id = Long.toString( System.currentTimeMillis() );
|
String id = Long.toString( System.currentTimeMillis() );
|
||||||
ManagedRepository managedRepository = new ManagedRepository();
|
ManagedRepository managedRepository = new ManagedRepository( Locale.getDefault());
|
||||||
managedRepository.setId( id );
|
managedRepository.setId( id );
|
||||||
managedRepository.setName( "name of " + id );
|
managedRepository.setName( "name of " + id );
|
||||||
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
@ -92,7 +93,7 @@ public void downloadMergedIndexWithNonDefaultPath()
|
|||||||
org.apache.archiva.common.utils.FileUtils.deleteDirectory( tmpIndexDir );
|
org.apache.archiva.common.utils.FileUtils.deleteDirectory( tmpIndexDir );
|
||||||
}
|
}
|
||||||
String id = Long.toString( System.currentTimeMillis() );
|
String id = Long.toString( System.currentTimeMillis() );
|
||||||
ManagedRepository managedRepository = new ManagedRepository();
|
ManagedRepository managedRepository = new ManagedRepository( Locale.getDefault());
|
||||||
managedRepository.setId( id );
|
managedRepository.setId( id );
|
||||||
managedRepository.setName( "name of " + id );
|
managedRepository.setName( "name of " + id );
|
||||||
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
||||||
@ -138,7 +139,7 @@ public void downloadMergedIndexWithNonDefaultPath()
|
|||||||
|
|
||||||
// create a repo with a remote on the one with index
|
// create a repo with a remote on the one with index
|
||||||
id = Long.toString( System.currentTimeMillis() );
|
id = Long.toString( System.currentTimeMillis() );
|
||||||
managedRepository = new ManagedRepository();
|
managedRepository = new ManagedRepository(Locale.getDefault());
|
||||||
managedRepository.setId( id );
|
managedRepository.setId( id );
|
||||||
managedRepository.setName( "name of " + id );
|
managedRepository.setName( "name of " + id );
|
||||||
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
||||||
@ -153,7 +154,7 @@ public void downloadMergedIndexWithNonDefaultPath()
|
|||||||
|
|
||||||
String remoteId = Long.toString( System.currentTimeMillis() );
|
String remoteId = Long.toString( System.currentTimeMillis() );
|
||||||
|
|
||||||
RemoteRepository remoteRepository = new RemoteRepository();
|
RemoteRepository remoteRepository = new RemoteRepository(Locale.getDefault());
|
||||||
remoteRepository.setId( remoteId );
|
remoteRepository.setId( remoteId );
|
||||||
remoteRepository.setName( remoteId );
|
remoteRepository.setName( remoteId );
|
||||||
remoteRepository.setDownloadRemoteIndex( true );
|
remoteRepository.setDownloadRemoteIndex( true );
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
@ -98,7 +99,7 @@ public void downloadMergedIndex()
|
|||||||
FileUtils.deleteDirectory( tmpIndexDir.toFile() );
|
FileUtils.deleteDirectory( tmpIndexDir.toFile() );
|
||||||
}
|
}
|
||||||
String id = Long.toString( System.currentTimeMillis() );
|
String id = Long.toString( System.currentTimeMillis() );
|
||||||
ManagedRepository managedRepository = new ManagedRepository();
|
ManagedRepository managedRepository = new ManagedRepository( Locale.getDefault());
|
||||||
managedRepository.setId( id );
|
managedRepository.setId( id );
|
||||||
managedRepository.setName( "name of " + id );
|
managedRepository.setName( "name of " + id );
|
||||||
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
||||||
@ -142,7 +143,7 @@ public void downloadMergedIndex()
|
|||||||
|
|
||||||
// create a repo with a remote on the one with index
|
// create a repo with a remote on the one with index
|
||||||
id = Long.toString( System.currentTimeMillis() );
|
id = Long.toString( System.currentTimeMillis() );
|
||||||
managedRepository = new ManagedRepository();
|
managedRepository = new ManagedRepository(Locale.getDefault());
|
||||||
managedRepository.setId( id );
|
managedRepository.setId( id );
|
||||||
managedRepository.setName( "name of " + id );
|
managedRepository.setName( "name of " + id );
|
||||||
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/test-repo" );
|
||||||
@ -155,7 +156,7 @@ public void downloadMergedIndex()
|
|||||||
|
|
||||||
getManagedRepositoriesService().addManagedRepository( managedRepository );
|
getManagedRepositoriesService().addManagedRepository( managedRepository );
|
||||||
|
|
||||||
RemoteRepository remoteRepository = new RemoteRepository();
|
RemoteRepository remoteRepository = new RemoteRepository(Locale.getDefault());
|
||||||
remoteRepository.setId( "all-merged" );
|
remoteRepository.setId( "all-merged" );
|
||||||
remoteRepository.setName( "all-merged" );
|
remoteRepository.setName( "all-merged" );
|
||||||
remoteRepository.setDownloadRemoteIndex( true );
|
remoteRepository.setDownloadRemoteIndex( true );
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipFile;
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
@ -82,7 +83,7 @@ public void downloadSNAPSHOT()
|
|||||||
org.apache.archiva.common.utils.FileUtils.deleteDirectory( tmpIndexDir );
|
org.apache.archiva.common.utils.FileUtils.deleteDirectory( tmpIndexDir );
|
||||||
}
|
}
|
||||||
String id = Long.toString( System.currentTimeMillis() );
|
String id = Long.toString( System.currentTimeMillis() );
|
||||||
ManagedRepository managedRepository = new ManagedRepository();
|
ManagedRepository managedRepository = new ManagedRepository( Locale.getDefault());
|
||||||
managedRepository.setId( id );
|
managedRepository.setId( id );
|
||||||
managedRepository.setName( "name of " + id );
|
managedRepository.setName( "name of " + id );
|
||||||
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/snapshot-repo" );
|
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/snapshot-repo" );
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
@ -184,7 +185,7 @@ protected Server buildStaticServer( Path path )
|
|||||||
|
|
||||||
RemoteRepository getRemoteRepository()
|
RemoteRepository getRemoteRepository()
|
||||||
{
|
{
|
||||||
return new RemoteRepository( "id-new", "new one", "http://foo.com", "default", "foo", "foopassword", 120,
|
return new RemoteRepository( Locale.getDefault( ), "id-new", "new one", "http://foo.com", "default", "foo", "foopassword", 120,
|
||||||
"cool repo" );
|
"cool repo" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +30,11 @@
|
|||||||
|
|
||||||
<context:property-placeholder system-properties-mode="OVERRIDE"/>
|
<context:property-placeholder system-properties-mode="OVERRIDE"/>
|
||||||
|
|
||||||
|
<context:component-scan base-package="org.apache.archiva.repository.content.maven2" />
|
||||||
|
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
<bean name="commons-configuration" class="org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry">
|
<bean name="commons-configuration" class="org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry">
|
||||||
<property name="properties">
|
<property name="properties">
|
||||||
<value>
|
<value>
|
||||||
|
@ -29,6 +29,10 @@
|
|||||||
default-lazy-init="true">
|
default-lazy-init="true">
|
||||||
|
|
||||||
<context:property-placeholder system-properties-mode="OVERRIDE"/>
|
<context:property-placeholder system-properties-mode="OVERRIDE"/>
|
||||||
|
<context:component-scan base-package="org.apache.archiva.repository.content.maven2" />
|
||||||
|
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
|
|
||||||
<bean name="commons-configuration" class="org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry">
|
<bean name="commons-configuration" class="org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry">
|
||||||
|
@ -30,7 +30,11 @@
|
|||||||
<context:property-placeholder system-properties-mode="OVERRIDE"/>
|
<context:property-placeholder system-properties-mode="OVERRIDE"/>
|
||||||
|
|
||||||
<context:annotation-config/>
|
<context:annotation-config/>
|
||||||
<context:component-scan base-package="org.apache.archiva.webtest.memory"/>
|
<context:component-scan base-package="org.apache.archiva.webtest.memory,org.apache.archiva.repository.content.maven2"/>
|
||||||
|
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
|
|
||||||
<alias name="repositorySessionFactory#test" alias="repositorySessionFactory"/>
|
<alias name="repositorySessionFactory#test" alias="repositorySessionFactory"/>
|
||||||
|
|
||||||
|
@ -29,7 +29,9 @@
|
|||||||
|
|
||||||
<context:annotation-config/>
|
<context:annotation-config/>
|
||||||
<context:component-scan
|
<context:component-scan
|
||||||
base-package="org.apache.archiva.redback.keys,org.apache.archiva.rest.services.utils"/>
|
base-package="org.apache.archiva.redback.keys,org.apache.archiva.rest.services.utils,org.apache.archiva.repository.content.maven2"/>
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
|
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
|
||||||
<property name="properties">
|
<property name="properties">
|
||||||
|
@ -37,6 +37,10 @@
|
|||||||
</bean>
|
</bean>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
|
|
||||||
<alias name="repositorySessionFactory#jcr" alias="repositorySessionFactory"/>
|
<alias name="repositorySessionFactory#jcr" alias="repositorySessionFactory"/>
|
||||||
|
|
||||||
<bean name="TestRepositorySessionFactoryBean" class="org.apache.archiva.TestRepositorySessionFactoryBean">
|
<bean name="TestRepositorySessionFactoryBean" class="org.apache.archiva.TestRepositorySessionFactoryBean">
|
||||||
|
@ -32,7 +32,7 @@ function(jquery,i18n,jqueryTmpl,bootstrap,jqueryValidate,ko) {
|
|||||||
];
|
];
|
||||||
|
|
||||||
ManagedRepository=function(id,name,layout,indexDirectory,location,snapshots,releases,blockRedeployments,cronExpression,
|
ManagedRepository=function(id,name,layout,indexDirectory,location,snapshots,releases,blockRedeployments,cronExpression,
|
||||||
scanned,retentionTime,retentionCount,deleteReleasedSnapshots,stageRepoNeeded,description,
|
scanned,retentionPeriod,retentionCount,deleteReleasedSnapshots,stageRepoNeeded,description,
|
||||||
skipPackedIndexCreation,feedsUrl,url){
|
skipPackedIndexCreation,feedsUrl,url){
|
||||||
|
|
||||||
var self=this;
|
var self=this;
|
||||||
@ -63,9 +63,9 @@ function(jquery,i18n,jqueryTmpl,bootstrap,jqueryValidate,ko) {
|
|||||||
|
|
||||||
//private ManagedRepository stagingRepository;
|
//private ManagedRepository stagingRepository;
|
||||||
|
|
||||||
//private int retentionTime = 100;
|
//private int retentionPeriod = 100;
|
||||||
this.retentionTime=ko.observable(retentionTime);
|
this.retentionPeriod=ko.observable(retentionPeriod);
|
||||||
this.retentionTime.subscribe(function(newValue){self.modified(true)});
|
this.retentionPeriod.subscribe(function(newValue){self.modified(true)});
|
||||||
|
|
||||||
//private int retentionCount = 2;
|
//private int retentionCount = 2;
|
||||||
this.retentionCount=ko.observable(retentionCount);
|
this.retentionCount=ko.observable(retentionCount);
|
||||||
@ -167,7 +167,7 @@ function(jquery,i18n,jqueryTmpl,bootstrap,jqueryValidate,ko) {
|
|||||||
return new ManagedRepository(data.id,data.name,data.layout,data.indexDirectory,data.location,data.snapshots
|
return new ManagedRepository(data.id,data.name,data.layout,data.indexDirectory,data.location,data.snapshots
|
||||||
,data.releases,
|
,data.releases,
|
||||||
data.blockRedeployments,data.cronExpression,
|
data.blockRedeployments,data.cronExpression,
|
||||||
data.scanned,data.retentionTime,data.retentionCount,data.deleteReleasedSnapshots,
|
data.scanned,data.retentionPeriod,data.retentionCount,data.deleteReleasedSnapshots,
|
||||||
data.stageRepoNeeded,data.description,data.skipPackedIndexCreation);
|
data.stageRepoNeeded,data.description,data.skipPackedIndexCreation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,14 +282,14 @@ <h2><img src="images/system-file-manager-32-32.png"/>${$.i18n.prop('administrati
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="control-group">
|
<div class="control-group">
|
||||||
<label class="control-label" for="retentionTime">${$.i18n.prop('retentionTime')}</label>
|
<label class="control-label" for="retentionPeriod">${$.i18n.prop('retentionPeriod')}</label>
|
||||||
|
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<input type="text" id="retentionTime" class="digits" name="retentionTime" size="5"
|
<input type="text" id="retentionPeriod" class="digits" name="retentionPeriod" size="5"
|
||||||
data-bind="value: managedRepository.retentionTime"/>
|
data-bind="value: managedRepository.retentionPeriod"/>
|
||||||
<a class="btn btn-warning btn-mini popover-doc" id="managedRepository-retentionTime-info-button"
|
<a class="btn btn-warning btn-mini popover-doc" id="managedRepository-retentionPeriod-info-button"
|
||||||
data-original-title="${$.i18n.prop('managedRepository.retentionTime.help.title')}"
|
data-original-title="${$.i18n.prop('managedRepository.retentionPeriod.help.title')}"
|
||||||
data-content="${$.i18n.prop('managedRepository.retentionTime.help.content')}">
|
data-content="${$.i18n.prop('managedRepository.retentionPeriod.help.content')}">
|
||||||
<i class="icon-question-sign icon-white"></i>
|
<i class="icon-question-sign icon-white"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@ -604,7 +604,7 @@ <h2>POM Snippet</h2></div>
|
|||||||
<label class="control-label" for="timeout">${$.i18n.prop('timeout')}</label>
|
<label class="control-label" for="timeout">${$.i18n.prop('timeout')}</label>
|
||||||
|
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<input type="text" id="timeout" class="digits" name="retentionTime" size="5"
|
<input type="text" id="timeout" class="digits" name="retentionPeriod" size="5"
|
||||||
data-bind="value: remoteRepository.timeout"/>
|
data-bind="value: remoteRepository.timeout"/>
|
||||||
<a class="btn btn-warning btn-mini popover-doc" id="remoteRepository-timeout-info-button"
|
<a class="btn btn-warning btn-mini popover-doc" id="remoteRepository-timeout-info-button"
|
||||||
data-original-title="${$.i18n.prop('remoteRepository.timeout.help.title')}"
|
data-original-title="${$.i18n.prop('remoteRepository.timeout.help.title')}"
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.apache.archiva.admin.model.beans.ManagedRepository;
|
|
||||||
import org.apache.archiva.common.filelock.FileLockException;
|
import org.apache.archiva.common.filelock.FileLockException;
|
||||||
import org.apache.archiva.common.filelock.FileLockManager;
|
import org.apache.archiva.common.filelock.FileLockManager;
|
||||||
import org.apache.archiva.common.filelock.FileLockTimeoutException;
|
import org.apache.archiva.common.filelock.FileLockTimeoutException;
|
||||||
@ -35,11 +34,28 @@
|
|||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.jackrabbit.util.Text;
|
import org.apache.jackrabbit.util.Text;
|
||||||
import org.apache.jackrabbit.webdav.*;
|
import org.apache.jackrabbit.webdav.DavException;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResource;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResourceFactory;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResourceIterator;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResourceIteratorImpl;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResourceLocator;
|
||||||
|
import org.apache.jackrabbit.webdav.DavServletResponse;
|
||||||
|
import org.apache.jackrabbit.webdav.DavSession;
|
||||||
|
import org.apache.jackrabbit.webdav.MultiStatusResponse;
|
||||||
import org.apache.jackrabbit.webdav.io.InputContext;
|
import org.apache.jackrabbit.webdav.io.InputContext;
|
||||||
import org.apache.jackrabbit.webdav.io.OutputContext;
|
import org.apache.jackrabbit.webdav.io.OutputContext;
|
||||||
import org.apache.jackrabbit.webdav.lock.*;
|
import org.apache.jackrabbit.webdav.lock.ActiveLock;
|
||||||
import org.apache.jackrabbit.webdav.property.*;
|
import org.apache.jackrabbit.webdav.lock.LockInfo;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.LockManager;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.Scope;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.Type;
|
||||||
|
import org.apache.jackrabbit.webdav.property.DavProperty;
|
||||||
|
import org.apache.jackrabbit.webdav.property.DavPropertyName;
|
||||||
|
import org.apache.jackrabbit.webdav.property.DavPropertyNameSet;
|
||||||
|
import org.apache.jackrabbit.webdav.property.DavPropertySet;
|
||||||
|
import org.apache.jackrabbit.webdav.property.DefaultDavProperty;
|
||||||
|
import org.apache.jackrabbit.webdav.property.ResourceType;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.format.DateTimeFormatter;
|
import org.joda.time.format.DateTimeFormatter;
|
||||||
import org.joda.time.format.ISODateTimeFormat;
|
import org.joda.time.format.ISODateTimeFormat;
|
||||||
@ -80,7 +96,7 @@ public class ArchivaDavResource
|
|||||||
|
|
||||||
private String remoteAddr;
|
private String remoteAddr;
|
||||||
|
|
||||||
private final ManagedRepository repository;
|
private final org.apache.archiva.repository.ManagedRepository repository;
|
||||||
|
|
||||||
private final MimeTypes mimeTypes;
|
private final MimeTypes mimeTypes;
|
||||||
|
|
||||||
@ -96,7 +112,7 @@ public class ArchivaDavResource
|
|||||||
|
|
||||||
private Logger log = LoggerFactory.getLogger( ArchivaDavResource.class );
|
private Logger log = LoggerFactory.getLogger( ArchivaDavResource.class );
|
||||||
|
|
||||||
public ArchivaDavResource( String localResource, String logicalResource, ManagedRepository repository,
|
public ArchivaDavResource( String localResource, String logicalResource, org.apache.archiva.repository.ManagedRepository repository,
|
||||||
DavSession session, ArchivaDavResourceLocator locator, DavResourceFactory factory,
|
DavSession session, ArchivaDavResourceLocator locator, DavResourceFactory factory,
|
||||||
MimeTypes mimeTypes, List<AuditListener> auditListeners,
|
MimeTypes mimeTypes, List<AuditListener> auditListeners,
|
||||||
RepositoryArchivaTaskScheduler scheduler, FileLockManager fileLockManager )
|
RepositoryArchivaTaskScheduler scheduler, FileLockManager fileLockManager )
|
||||||
@ -117,7 +133,7 @@ public ArchivaDavResource( String localResource, String logicalResource, Managed
|
|||||||
this.fileLockManager = fileLockManager;
|
this.fileLockManager = fileLockManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArchivaDavResource( String localResource, String logicalResource, ManagedRepository repository,
|
public ArchivaDavResource( String localResource, String logicalResource, org.apache.archiva.repository.ManagedRepository repository,
|
||||||
String remoteAddr, String principal, DavSession session,
|
String remoteAddr, String principal, DavSession session,
|
||||||
ArchivaDavResourceLocator locator, DavResourceFactory factory, MimeTypes mimeTypes,
|
ArchivaDavResourceLocator locator, DavResourceFactory factory, MimeTypes mimeTypes,
|
||||||
List<AuditListener> auditListeners, RepositoryArchivaTaskScheduler scheduler,
|
List<AuditListener> auditListeners, RepositoryArchivaTaskScheduler scheduler,
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import org.apache.archiva.admin.model.RepositoryAdminException;
|
import org.apache.archiva.admin.model.RepositoryAdminException;
|
||||||
import org.apache.archiva.admin.model.beans.ManagedRepository;
|
|
||||||
import org.apache.archiva.admin.model.beans.RemoteRepository;
|
import org.apache.archiva.admin.model.beans.RemoteRepository;
|
||||||
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
|
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
|
||||||
import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
|
import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
|
||||||
@ -32,7 +31,12 @@
|
|||||||
import org.apache.archiva.common.utils.VersionUtil;
|
import org.apache.archiva.common.utils.VersionUtil;
|
||||||
import org.apache.archiva.configuration.ArchivaConfiguration;
|
import org.apache.archiva.configuration.ArchivaConfiguration;
|
||||||
import org.apache.archiva.configuration.RepositoryGroupConfiguration;
|
import org.apache.archiva.configuration.RepositoryGroupConfiguration;
|
||||||
import org.apache.archiva.indexer.merger.*;
|
import org.apache.archiva.indexer.merger.IndexMerger;
|
||||||
|
import org.apache.archiva.indexer.merger.IndexMergerException;
|
||||||
|
import org.apache.archiva.indexer.merger.IndexMergerRequest;
|
||||||
|
import org.apache.archiva.indexer.merger.MergedRemoteIndexesTask;
|
||||||
|
import org.apache.archiva.indexer.merger.MergedRemoteIndexesTaskRequest;
|
||||||
|
import org.apache.archiva.indexer.merger.TemporaryGroupIndex;
|
||||||
import org.apache.archiva.indexer.search.RepositorySearch;
|
import org.apache.archiva.indexer.search.RepositorySearch;
|
||||||
import org.apache.archiva.maven2.metadata.MavenMetadataReader;
|
import org.apache.archiva.maven2.metadata.MavenMetadataReader;
|
||||||
import org.apache.archiva.metadata.model.facets.AuditEvent;
|
import org.apache.archiva.metadata.model.facets.AuditEvent;
|
||||||
@ -52,12 +56,16 @@
|
|||||||
import org.apache.archiva.redback.system.SecuritySession;
|
import org.apache.archiva.redback.system.SecuritySession;
|
||||||
import org.apache.archiva.redback.users.User;
|
import org.apache.archiva.redback.users.User;
|
||||||
import org.apache.archiva.redback.users.UserManager;
|
import org.apache.archiva.redback.users.UserManager;
|
||||||
|
import org.apache.archiva.repository.ManagedRepository;
|
||||||
import org.apache.archiva.repository.ManagedRepositoryContent;
|
import org.apache.archiva.repository.ManagedRepositoryContent;
|
||||||
|
import org.apache.archiva.repository.ReleaseScheme;
|
||||||
import org.apache.archiva.repository.RepositoryContentFactory;
|
import org.apache.archiva.repository.RepositoryContentFactory;
|
||||||
import org.apache.archiva.repository.RepositoryException;
|
import org.apache.archiva.repository.RepositoryException;
|
||||||
import org.apache.archiva.repository.RepositoryNotFoundException;
|
import org.apache.archiva.repository.RepositoryNotFoundException;
|
||||||
|
import org.apache.archiva.repository.RepositoryRegistry;
|
||||||
import org.apache.archiva.repository.content.maven2.RepositoryRequest;
|
import org.apache.archiva.repository.content.maven2.RepositoryRequest;
|
||||||
import org.apache.archiva.repository.events.AuditListener;
|
import org.apache.archiva.repository.events.AuditListener;
|
||||||
|
import org.apache.archiva.repository.features.IndexCreationFeature;
|
||||||
import org.apache.archiva.repository.layout.LayoutException;
|
import org.apache.archiva.repository.layout.LayoutException;
|
||||||
import org.apache.archiva.repository.metadata.MetadataTools;
|
import org.apache.archiva.repository.metadata.MetadataTools;
|
||||||
import org.apache.archiva.repository.metadata.RepositoryMetadataException;
|
import org.apache.archiva.repository.metadata.RepositoryMetadataException;
|
||||||
@ -72,7 +80,13 @@
|
|||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.lang.SystemUtils;
|
import org.apache.commons.lang.SystemUtils;
|
||||||
import org.apache.jackrabbit.webdav.*;
|
import org.apache.jackrabbit.webdav.DavException;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResource;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResourceFactory;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResourceLocator;
|
||||||
|
import org.apache.jackrabbit.webdav.DavServletRequest;
|
||||||
|
import org.apache.jackrabbit.webdav.DavServletResponse;
|
||||||
|
import org.apache.jackrabbit.webdav.DavSession;
|
||||||
import org.apache.jackrabbit.webdav.lock.LockManager;
|
import org.apache.jackrabbit.webdav.lock.LockManager;
|
||||||
import org.apache.jackrabbit.webdav.lock.SimpleLockManager;
|
import org.apache.jackrabbit.webdav.lock.SimpleLockManager;
|
||||||
import org.apache.maven.index.context.IndexingContext;
|
import org.apache.maven.index.context.IndexingContext;
|
||||||
@ -94,7 +108,13 @@
|
|||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -142,6 +162,9 @@ public class ArchivaDavResourceFactory
|
|||||||
@Inject
|
@Inject
|
||||||
private ManagedRepositoryAdmin managedRepositoryAdmin;
|
private ManagedRepositoryAdmin managedRepositoryAdmin;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private RepositoryRegistry repositoryRegistry;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private IndexMerger indexMerger;
|
private IndexMerger indexMerger;
|
||||||
|
|
||||||
@ -283,40 +306,28 @@ public DavResource createResource( final DavResourceLocator locator, final DavSe
|
|||||||
archivaLocator.getRepositoryId(), e.getMessage() );
|
archivaLocator.getRepositoryId(), e.getMessage() );
|
||||||
}
|
}
|
||||||
|
|
||||||
ManagedRepositoryContent managedRepositoryContent = null;
|
|
||||||
|
|
||||||
try
|
ManagedRepository repo = repositoryRegistry.getManagedRepository( archivaLocator.getRepositoryId() );
|
||||||
{
|
if (repo==null) {
|
||||||
managedRepositoryContent =
|
|
||||||
repositoryFactory.getManagedRepositoryContent( archivaLocator.getRepositoryId() );
|
|
||||||
}
|
|
||||||
catch ( RepositoryNotFoundException e )
|
|
||||||
{
|
|
||||||
throw new DavException( HttpServletResponse.SC_NOT_FOUND,
|
throw new DavException( HttpServletResponse.SC_NOT_FOUND,
|
||||||
"Invalid repository: " + archivaLocator.getRepositoryId() );
|
"Invalid repository: " + archivaLocator.getRepositoryId() );
|
||||||
}
|
}
|
||||||
catch ( RepositoryException e )
|
ManagedRepositoryContent managedRepositoryContent = repo.getContent( );
|
||||||
{
|
if (managedRepositoryContent==null) {
|
||||||
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
|
log.error("Inconsistency detected. Repository content not found for '{}'", archivaLocator.getRepositoryId());
|
||||||
|
throw new DavException( HttpServletResponse.SC_NOT_FOUND,
|
||||||
|
"Invalid repository: " + archivaLocator.getRepositoryId() );
|
||||||
}
|
}
|
||||||
|
|
||||||
log.debug( "Managed repository '{}' accessed by '{}'", managedRepositoryContent.getId(), activePrincipal );
|
log.debug( "Managed repository '{}' accessed by '{}'", managedRepositoryContent.getId(), activePrincipal );
|
||||||
|
|
||||||
try
|
resource = processRepository( request, archivaLocator, activePrincipal, managedRepositoryContent,
|
||||||
{
|
repo);
|
||||||
resource = processRepository( request, archivaLocator, activePrincipal, managedRepositoryContent,
|
|
||||||
managedRepositoryAdmin.getManagedRepository(
|
|
||||||
archivaLocator.getRepositoryId() ) );
|
|
||||||
|
|
||||||
String logicalResource = getLogicalResource( archivaLocator, null, false );
|
String logicalResource = getLogicalResource( archivaLocator, null, false );
|
||||||
resourcesInAbsolutePath.add(
|
resourcesInAbsolutePath.add(
|
||||||
Paths.get( managedRepositoryContent.getRepoRoot(), logicalResource ).toAbsolutePath().toString() );
|
Paths.get( managedRepositoryContent.getRepoRoot(), logicalResource ).toAbsolutePath().toString() );
|
||||||
|
|
||||||
}
|
|
||||||
catch ( RepositoryAdminException e )
|
|
||||||
{
|
|
||||||
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String requestedResource = request.getRequestURI();
|
String requestedResource = request.getRequestURI();
|
||||||
@ -457,22 +468,17 @@ private DavResource processRepositoryGroup( final DavServletRequest request,
|
|||||||
for ( String repositoryId : repositories )
|
for ( String repositoryId : repositories )
|
||||||
{
|
{
|
||||||
ManagedRepositoryContent managedRepositoryContent;
|
ManagedRepositoryContent managedRepositoryContent;
|
||||||
|
ManagedRepository managedRepository = repositoryRegistry.getManagedRepository( repositoryId );
|
||||||
|
if (managedRepository==null) {
|
||||||
|
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Could not find repository with id "+repositoryId );
|
||||||
|
}
|
||||||
|
managedRepositoryContent = managedRepository.getContent();
|
||||||
|
if (managedRepositoryContent==null) {
|
||||||
|
log.error("Inconsistency detected. Repository content not found for '{}'",repositoryId);
|
||||||
|
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Could not find repository content with id "+repositoryId );
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
managedRepositoryContent = repositoryFactory.getManagedRepositoryContent( repositoryId );
|
|
||||||
}
|
|
||||||
catch ( RepositoryNotFoundException e )
|
|
||||||
{
|
|
||||||
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
|
|
||||||
}
|
|
||||||
catch ( RepositoryException e )
|
|
||||||
{
|
|
||||||
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
ManagedRepository managedRepository = managedRepositoryAdmin.getManagedRepository( repositoryId );
|
|
||||||
DavResource updatedResource =
|
DavResource updatedResource =
|
||||||
processRepository( request, archivaLocator, activePrincipal, managedRepositoryContent,
|
processRepository( request, archivaLocator, activePrincipal, managedRepositoryContent,
|
||||||
managedRepository );
|
managedRepository );
|
||||||
@ -493,10 +499,6 @@ private DavResource processRepositoryGroup( final DavServletRequest request,
|
|||||||
{
|
{
|
||||||
storedExceptions.add( e );
|
storedExceptions.add( e );
|
||||||
}
|
}
|
||||||
catch ( RepositoryAdminException e )
|
|
||||||
{
|
|
||||||
storedExceptions.add( new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e ) );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( resource == null )
|
if ( resource == null )
|
||||||
@ -522,12 +524,12 @@ private DavResource processRepositoryGroup( final DavServletRequest request,
|
|||||||
return resource;
|
return resource;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getLogicalResource( ArchivaDavResourceLocator archivaLocator, ManagedRepository managedRepository,
|
private String getLogicalResource( ArchivaDavResourceLocator archivaLocator, org.apache.archiva.repository.ManagedRepository managedRepository,
|
||||||
boolean useOrigResourcePath )
|
boolean useOrigResourcePath )
|
||||||
{
|
{
|
||||||
// FIXME remove this hack
|
// FIXME remove this hack
|
||||||
// but currently managedRepository can be null in case of group
|
// but currently managedRepository can be null in case of group
|
||||||
String layout = managedRepository == null ? new ManagedRepository().getLayout() : managedRepository.getLayout();
|
String layout = managedRepository == null ? "default" : managedRepository.getLayout();
|
||||||
RepositoryStorage repositoryStorage =
|
RepositoryStorage repositoryStorage =
|
||||||
this.applicationContext.getBean( "repositoryStorage#" + layout, RepositoryStorage.class );
|
this.applicationContext.getBean( "repositoryStorage#" + layout, RepositoryStorage.class );
|
||||||
String path = repositoryStorage.getFilePath(
|
String path = repositoryStorage.getFilePath(
|
||||||
@ -545,7 +547,7 @@ private String evaluatePathWithVersion( ArchivaDavResourceLocator archivaLocator
|
|||||||
throws DavException
|
throws DavException
|
||||||
{
|
{
|
||||||
String layout = managedRepositoryContent.getRepository() == null
|
String layout = managedRepositoryContent.getRepository() == null
|
||||||
? new ManagedRepository().getLayout()
|
? "default"
|
||||||
: managedRepositoryContent.getRepository().getLayout();
|
: managedRepositoryContent.getRepository().getLayout();
|
||||||
RepositoryStorage repositoryStorage =
|
RepositoryStorage repositoryStorage =
|
||||||
this.applicationContext.getBean( "repositoryStorage#" + layout, RepositoryStorage.class );
|
this.applicationContext.getBean( "repositoryStorage#" + layout, RepositoryStorage.class );
|
||||||
@ -570,7 +572,7 @@ private String evaluatePathWithVersion( ArchivaDavResourceLocator archivaLocator
|
|||||||
|
|
||||||
private DavResource processRepository( final DavServletRequest request, ArchivaDavResourceLocator archivaLocator,
|
private DavResource processRepository( final DavServletRequest request, ArchivaDavResourceLocator archivaLocator,
|
||||||
String activePrincipal, ManagedRepositoryContent managedRepositoryContent,
|
String activePrincipal, ManagedRepositoryContent managedRepositoryContent,
|
||||||
ManagedRepository managedRepository )
|
org.apache.archiva.repository.ManagedRepository managedRepository )
|
||||||
throws DavException
|
throws DavException
|
||||||
{
|
{
|
||||||
DavResource resource = null;
|
DavResource resource = null;
|
||||||
@ -659,7 +661,7 @@ private DavResource processRepository( final DavServletRequest request, ArchivaD
|
|||||||
|
|
||||||
// check if target repo is enabled for releases
|
// check if target repo is enabled for releases
|
||||||
// we suppose that release-artifacts can be deployed only to repos enabled for releases
|
// we suppose that release-artifacts can be deployed only to repos enabled for releases
|
||||||
if ( managedRepositoryContent.getRepository().isReleases() && !repositoryRequest.isMetadata(
|
if ( managedRepositoryContent.getRepository().getActiveReleaseSchemes().contains( ReleaseScheme.RELEASE ) && !repositoryRequest.isMetadata(
|
||||||
resourcePath ) && !repositoryRequest.isSupportFile( resourcePath ) )
|
resourcePath ) && !repositoryRequest.isSupportFile( resourcePath ) )
|
||||||
{
|
{
|
||||||
ArtifactReference artifact = null;
|
ArtifactReference artifact = null;
|
||||||
@ -671,7 +673,7 @@ private DavResource processRepository( final DavServletRequest request, ArchivaD
|
|||||||
{
|
{
|
||||||
// check if artifact already exists and if artifact re-deployment to the repository is allowed
|
// check if artifact already exists and if artifact re-deployment to the repository is allowed
|
||||||
if ( managedRepositoryContent.hasContent( artifact )
|
if ( managedRepositoryContent.hasContent( artifact )
|
||||||
&& managedRepositoryContent.getRepository().isBlockRedeployments() )
|
&& managedRepositoryContent.getRepository().blocksRedeployments())
|
||||||
{
|
{
|
||||||
log.warn( "Overwriting released artifacts in repository '{}' is not allowed.",
|
log.warn( "Overwriting released artifacts in repository '{}' is not allowed.",
|
||||||
managedRepositoryContent.getId() );
|
managedRepositoryContent.getId() );
|
||||||
@ -727,41 +729,30 @@ public DavResource createResource( final DavResourceLocator locator, final DavSe
|
|||||||
ArchivaDavResourceLocator archivaLocator = checkLocatorIsInstanceOfRepositoryLocator( locator );
|
ArchivaDavResourceLocator archivaLocator = checkLocatorIsInstanceOfRepositoryLocator( locator );
|
||||||
|
|
||||||
ManagedRepositoryContent managedRepositoryContent;
|
ManagedRepositoryContent managedRepositoryContent;
|
||||||
try
|
ManagedRepository repo = repositoryRegistry.getManagedRepository( archivaLocator.getRepositoryId( ) );
|
||||||
{
|
if (repo==null) {
|
||||||
managedRepositoryContent =
|
|
||||||
repositoryFactory.getManagedRepositoryContent( archivaLocator.getRepositoryId() );
|
|
||||||
}
|
|
||||||
catch ( RepositoryNotFoundException e )
|
|
||||||
{
|
|
||||||
throw new DavException( HttpServletResponse.SC_NOT_FOUND,
|
throw new DavException( HttpServletResponse.SC_NOT_FOUND,
|
||||||
"Invalid repository: " + archivaLocator.getRepositoryId() );
|
"Invalid repository: " + archivaLocator.getRepositoryId() );
|
||||||
}
|
}
|
||||||
catch ( RepositoryException e )
|
managedRepositoryContent = repo.getContent();
|
||||||
{
|
if (managedRepositoryContent==null) {
|
||||||
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
|
log.error("Inconsistency detected. Repository content not found for '{}'", archivaLocator.getRepositoryId());
|
||||||
|
throw new DavException( HttpServletResponse.SC_NOT_FOUND,
|
||||||
|
"Invalid repository: " + archivaLocator.getRepositoryId() );
|
||||||
}
|
}
|
||||||
|
|
||||||
DavResource resource = null;
|
DavResource resource = null;
|
||||||
try
|
String logicalResource = getLogicalResource( archivaLocator, repo, false );
|
||||||
|
if ( logicalResource.startsWith( "/" ) )
|
||||||
{
|
{
|
||||||
String logicalResource = getLogicalResource( archivaLocator, managedRepositoryAdmin.getManagedRepository(
|
logicalResource = logicalResource.substring( 1 );
|
||||||
archivaLocator.getRepositoryId() ), false );
|
}
|
||||||
if ( logicalResource.startsWith( "/" ) )
|
Path resourceFile = Paths.get( managedRepositoryContent.getRepoRoot(), logicalResource );
|
||||||
{
|
resource = new ArchivaDavResource( resourceFile.toAbsolutePath().toString(), logicalResource,
|
||||||
logicalResource = logicalResource.substring( 1 );
|
repo, davSession, archivaLocator,
|
||||||
}
|
this, mimeTypes, auditListeners, scheduler, fileLockManager );
|
||||||
Path resourceFile = Paths.get( managedRepositoryContent.getRepoRoot(), logicalResource );
|
|
||||||
resource = new ArchivaDavResource( resourceFile.toAbsolutePath().toString(), logicalResource,
|
|
||||||
managedRepositoryContent.getRepository(), davSession, archivaLocator,
|
|
||||||
this, mimeTypes, auditListeners, scheduler, fileLockManager );
|
|
||||||
|
|
||||||
resource.addLockManager( lockManager );
|
resource.addLockManager( lockManager );
|
||||||
}
|
|
||||||
catch ( RepositoryAdminException e )
|
|
||||||
{
|
|
||||||
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
|
|
||||||
}
|
|
||||||
return resource;
|
return resource;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1027,7 +1018,7 @@ private DavResource getResourceFromGroup( DavServletRequest request, List<String
|
|||||||
// FIXME add a method with group in the repository storage
|
// FIXME add a method with group in the repository storage
|
||||||
String firstRepoId = repositoryGroupConfiguration.getRepositories().get( 0 );
|
String firstRepoId = repositoryGroupConfiguration.getRepositories().get( 0 );
|
||||||
|
|
||||||
String path = getLogicalResource( locator, managedRepositoryAdmin.getManagedRepository( firstRepoId ), false );
|
String path = getLogicalResource( locator, repositoryRegistry.getManagedRepository( firstRepoId ), false );
|
||||||
if ( path.startsWith( "/" ) )
|
if ( path.startsWith( "/" ) )
|
||||||
{
|
{
|
||||||
path = path.substring( 1 );
|
path = path.substring( 1 );
|
||||||
@ -1084,32 +1075,28 @@ private DavResource getResourceFromGroup( DavServletRequest request, List<String
|
|||||||
for ( String repository : repositories )
|
for ( String repository : repositories )
|
||||||
{
|
{
|
||||||
ManagedRepositoryContent managedRepository = null;
|
ManagedRepositoryContent managedRepository = null;
|
||||||
|
ManagedRepository repo = repositoryRegistry.getManagedRepository( repository );
|
||||||
try
|
if (repo == null) {
|
||||||
{
|
|
||||||
managedRepository = repositoryFactory.getManagedRepositoryContent( repository );
|
|
||||||
}
|
|
||||||
catch ( RepositoryNotFoundException e )
|
|
||||||
{
|
|
||||||
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
|
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
|
||||||
"Invalid managed repository <" + repository + ">: " + e.getMessage() );
|
"Invalid managed repository <" + repository + ">");
|
||||||
}
|
}
|
||||||
catch ( RepositoryException e )
|
managedRepository = repo.getContent();
|
||||||
{
|
if (managedRepository==null) {
|
||||||
|
log.error("Inconsistency detected. Repository content not found for '{}'",repository);
|
||||||
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
|
throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
|
||||||
"Invalid managed repository <" + repository + ">: " + e.getMessage() );
|
"Invalid managed repository <" + repository + ">");
|
||||||
}
|
}
|
||||||
|
|
||||||
Path resourceFile = Paths.get( managedRepository.getRepoRoot(), logicalResource.getPath() );
|
Path resourceFile = Paths.get( managedRepository.getRepoRoot(), logicalResource.getPath() );
|
||||||
if ( Files.exists(resourceFile) )
|
if ( Files.exists(resourceFile) )
|
||||||
{
|
{
|
||||||
// in case of group displaying index directory doesn't have sense !!
|
// in case of group displaying index directory doesn't have sense !!
|
||||||
String repoIndexDirectory = managedRepository.getRepository().getIndexDirectory();
|
IndexCreationFeature idf = managedRepository.getRepository().getFeature(IndexCreationFeature.class).get();
|
||||||
|
String repoIndexDirectory = idf.getIndexPath().toString();
|
||||||
if ( StringUtils.isNotEmpty( repoIndexDirectory ) )
|
if ( StringUtils.isNotEmpty( repoIndexDirectory ) )
|
||||||
{
|
{
|
||||||
if ( !Paths.get( repoIndexDirectory ).isAbsolute() )
|
if ( !Paths.get( repoIndexDirectory ).isAbsolute() )
|
||||||
{
|
{
|
||||||
repoIndexDirectory = Paths.get( managedRepository.getRepository().getLocation(),
|
repoIndexDirectory = Paths.get( managedRepository.getRepository().getLocation() ).resolve(
|
||||||
StringUtils.isEmpty( repoIndexDirectory )
|
StringUtils.isEmpty( repoIndexDirectory )
|
||||||
? ".indexer"
|
? ".indexer"
|
||||||
: repoIndexDirectory ).toAbsolutePath().toString();
|
: repoIndexDirectory ).toAbsolutePath().toString();
|
||||||
@ -1117,7 +1104,7 @@ private DavResource getResourceFromGroup( DavServletRequest request, List<String
|
|||||||
}
|
}
|
||||||
if ( StringUtils.isEmpty( repoIndexDirectory ) )
|
if ( StringUtils.isEmpty( repoIndexDirectory ) )
|
||||||
{
|
{
|
||||||
repoIndexDirectory = Paths.get( managedRepository.getRepository().getLocation(),
|
repoIndexDirectory = Paths.get( managedRepository.getRepository().getLocation() ).resolve(
|
||||||
".indexer" ).toAbsolutePath().toString();
|
".indexer" ).toAbsolutePath().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1460,4 +1447,14 @@ public void setManagedRepositoryAdmin( ManagedRepositoryAdmin managedRepositoryA
|
|||||||
{
|
{
|
||||||
this.managedRepositoryAdmin = managedRepositoryAdmin;
|
this.managedRepositoryAdmin = managedRepositoryAdmin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RepositoryRegistry getRepositoryRegistry( )
|
||||||
|
{
|
||||||
|
return repositoryRegistry;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRepositoryRegistry( RepositoryRegistry repositoryRegistry )
|
||||||
|
{
|
||||||
|
this.repositoryRegistry = repositoryRegistry;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -204,7 +204,7 @@ public synchronized void initServers( ServletConfig servletConfig )
|
|||||||
|
|
||||||
long end = System.currentTimeMillis();
|
long end = System.currentTimeMillis();
|
||||||
|
|
||||||
log.info( "initServers done in {} ms", (end - start) );
|
log.debug( "initServers done in {} ms", (end - start) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
import org.apache.archiva.configuration.Configuration;
|
import org.apache.archiva.configuration.Configuration;
|
||||||
import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
|
import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
|
||||||
import org.apache.archiva.configuration.RemoteRepositoryConfiguration;
|
import org.apache.archiva.configuration.RemoteRepositoryConfiguration;
|
||||||
|
import org.apache.archiva.repository.RepositoryRegistry;
|
||||||
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
|
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
|
||||||
import org.apache.archiva.webdav.httpunit.MkColMethodWebRequest;
|
import org.apache.archiva.webdav.httpunit.MkColMethodWebRequest;
|
||||||
import org.apache.archiva.webdav.util.MavenIndexerCleaner;
|
import org.apache.archiva.webdav.util.MavenIndexerCleaner;
|
||||||
@ -99,6 +100,9 @@ public abstract class AbstractRepositoryServletTestCase
|
|||||||
@Inject
|
@Inject
|
||||||
protected ManagedRepositoryAdmin managedRepositoryAdmin;
|
protected ManagedRepositoryAdmin managedRepositoryAdmin;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
RepositoryRegistry repositoryRegistry;
|
||||||
|
|
||||||
protected Logger log = LoggerFactory.getLogger( getClass() );
|
protected Logger log = LoggerFactory.getLogger( getClass() );
|
||||||
|
|
||||||
|
|
||||||
@ -106,6 +110,7 @@ protected void saveConfiguration()
|
|||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
saveConfiguration( archivaConfiguration );
|
saveConfiguration( archivaConfiguration );
|
||||||
|
repositoryRegistry.reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
@ -135,6 +140,7 @@ public void setUp()
|
|||||||
|
|
||||||
config.addManagedRepository(
|
config.addManagedRepository(
|
||||||
createManagedRepository( REPOID_INTERNAL, "Internal Test Repo", repoRootInternal, true ) );
|
createManagedRepository( REPOID_INTERNAL, "Internal Test Repo", repoRootInternal, true ) );
|
||||||
|
repositoryRegistry.reload();
|
||||||
|
|
||||||
managedRepositoryAdmin.createIndexContext( managedRepositoryAdmin.getManagedRepository( REPOID_INTERNAL ) );
|
managedRepositoryAdmin.createIndexContext( managedRepositoryAdmin.getManagedRepository( REPOID_INTERNAL ) );
|
||||||
|
|
||||||
@ -776,6 +782,7 @@ protected RemoteRepositoryConfiguration createRemoteRepository( String id, Strin
|
|||||||
protected void saveConfiguration( ArchivaConfiguration archivaConfiguration )
|
protected void saveConfiguration( ArchivaConfiguration archivaConfiguration )
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
|
repositoryRegistry.reload();
|
||||||
archivaConfiguration.save( archivaConfiguration.getConfiguration() );
|
archivaConfiguration.save( archivaConfiguration.getConfiguration() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,8 +34,10 @@
|
|||||||
import org.apache.archiva.configuration.RepositoryGroupConfiguration;
|
import org.apache.archiva.configuration.RepositoryGroupConfiguration;
|
||||||
import org.apache.archiva.proxy.DefaultRepositoryProxyConnectors;
|
import org.apache.archiva.proxy.DefaultRepositoryProxyConnectors;
|
||||||
import org.apache.archiva.proxy.model.ProxyFetchResult;
|
import org.apache.archiva.proxy.model.ProxyFetchResult;
|
||||||
|
import org.apache.archiva.repository.EditableManagedRepository;
|
||||||
import org.apache.archiva.repository.ManagedRepositoryContent;
|
import org.apache.archiva.repository.ManagedRepositoryContent;
|
||||||
import org.apache.archiva.repository.RepositoryContentFactory;
|
import org.apache.archiva.repository.RepositoryContentFactory;
|
||||||
|
import org.apache.archiva.repository.RepositoryRegistry;
|
||||||
import org.apache.archiva.repository.content.maven2.ManagedDefaultRepositoryContent;
|
import org.apache.archiva.repository.content.maven2.ManagedDefaultRepositoryContent;
|
||||||
import org.apache.archiva.repository.content.maven2.RepositoryRequest;
|
import org.apache.archiva.repository.content.maven2.RepositoryRequest;
|
||||||
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
|
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
|
||||||
@ -44,12 +46,15 @@
|
|||||||
import org.apache.jackrabbit.webdav.DavResourceLocator;
|
import org.apache.jackrabbit.webdav.DavResourceLocator;
|
||||||
import org.apache.jackrabbit.webdav.DavServletRequest;
|
import org.apache.jackrabbit.webdav.DavServletRequest;
|
||||||
import org.apache.jackrabbit.webdav.DavServletResponse;
|
import org.apache.jackrabbit.webdav.DavServletResponse;
|
||||||
|
import org.easymock.EasyMock;
|
||||||
import org.easymock.IMocksControl;
|
import org.easymock.IMocksControl;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@ -58,6 +63,7 @@
|
|||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import static org.easymock.EasyMock.*;
|
import static org.easymock.EasyMock.*;
|
||||||
|
|
||||||
@ -112,6 +118,9 @@ public class ArchivaDavResourceFactoryTest
|
|||||||
@Inject
|
@Inject
|
||||||
DefaultManagedRepositoryAdmin defaultManagedRepositoryAdmin;
|
DefaultManagedRepositoryAdmin defaultManagedRepositoryAdmin;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
RepositoryRegistry repositoryRegistry;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
RemoteRepositoryAdmin remoteRepositoryAdmin;
|
RemoteRepositoryAdmin remoteRepositoryAdmin;
|
||||||
|
|
||||||
@ -138,13 +147,18 @@ public void setUp()
|
|||||||
archivaConfiguration = archivaConfigurationControl.createMock( ArchivaConfiguration.class );
|
archivaConfiguration = archivaConfigurationControl.createMock( ArchivaConfiguration.class );
|
||||||
|
|
||||||
config = new Configuration();
|
config = new Configuration();
|
||||||
expect( archivaConfiguration.getConfiguration() ).andReturn( config ).times( 5, 20 );
|
expect( archivaConfiguration.getConfiguration() ).andReturn( config ).times( 2, 20 );
|
||||||
|
expect (archivaConfiguration.getDefaultLocale()).andReturn( Locale.getDefault() ).anyTimes();
|
||||||
|
archivaConfiguration.addListener( EasyMock.anyObject( ) );
|
||||||
|
expectLastCall().times(0, 4);
|
||||||
archivaConfiguration.save( config );
|
archivaConfiguration.save( config );
|
||||||
|
|
||||||
expectLastCall().times( 1, 4 );
|
expectLastCall().times( 0, 4 );
|
||||||
archivaConfigurationControl.replay();
|
archivaConfigurationControl.replay();
|
||||||
|
|
||||||
defaultManagedRepositoryAdmin.setArchivaConfiguration( archivaConfiguration );
|
defaultManagedRepositoryAdmin.setArchivaConfiguration( archivaConfiguration );
|
||||||
|
repositoryRegistry.setArchivaConfiguration( archivaConfiguration );
|
||||||
|
repositoryRegistry.reload();
|
||||||
( (DefaultRepositoryCommonValidator) defaultManagedRepositoryAdmin.getRepositoryCommonValidator() ).setArchivaConfiguration(
|
( (DefaultRepositoryCommonValidator) defaultManagedRepositoryAdmin.getRepositoryCommonValidator() ).setArchivaConfiguration(
|
||||||
archivaConfiguration );
|
archivaConfiguration );
|
||||||
if ( defaultManagedRepositoryAdmin.getManagedRepository( RELEASES_REPO ) == null )
|
if ( defaultManagedRepositoryAdmin.getManagedRepository( RELEASES_REPO ) == null )
|
||||||
@ -184,11 +198,12 @@ public void setUp()
|
|||||||
resourceFactory.setConnectors( new OverridingRepositoryProxyConnectors() );
|
resourceFactory.setConnectors( new OverridingRepositoryProxyConnectors() );
|
||||||
resourceFactory.setRemoteRepositoryAdmin( remoteRepositoryAdmin );
|
resourceFactory.setRemoteRepositoryAdmin( remoteRepositoryAdmin );
|
||||||
resourceFactory.setManagedRepositoryAdmin( defaultManagedRepositoryAdmin );
|
resourceFactory.setManagedRepositoryAdmin( defaultManagedRepositoryAdmin );
|
||||||
|
resourceFactory.setRepositoryRegistry( repositoryRegistry );
|
||||||
}
|
}
|
||||||
|
|
||||||
private ManagedRepository createManagedRepository( String id, String location, String layout )
|
private ManagedRepository createManagedRepository( String id, String location, String layout )
|
||||||
{
|
{
|
||||||
ManagedRepository repoConfig = new ManagedRepository();
|
ManagedRepository repoConfig = new ManagedRepository( Locale.getDefault());
|
||||||
repoConfig.setId( id );
|
repoConfig.setId( id );
|
||||||
repoConfig.setName( id );
|
repoConfig.setName( id );
|
||||||
repoConfig.setLocation( location );
|
repoConfig.setLocation( location );
|
||||||
@ -201,8 +216,12 @@ private ManagedRepositoryContent createManagedRepositoryContent( String repoId )
|
|||||||
throws RepositoryAdminException
|
throws RepositoryAdminException
|
||||||
{
|
{
|
||||||
ManagedRepositoryContent repoContent = new ManagedDefaultRepositoryContent();
|
ManagedRepositoryContent repoContent = new ManagedDefaultRepositoryContent();
|
||||||
repoContent.setRepository( defaultManagedRepositoryAdmin.getManagedRepository( repoId ) );
|
org.apache.archiva.repository.ManagedRepository repo = repositoryRegistry.getManagedRepository( repoId );
|
||||||
|
repoContent.setRepository( repo );
|
||||||
|
if (repo!=null && repo instanceof EditableManagedRepository)
|
||||||
|
{
|
||||||
|
( (EditableManagedRepository) repo ).setContent( repoContent );
|
||||||
|
}
|
||||||
return repoContent;
|
return repoContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -466,9 +485,7 @@ public void testRequestArtifactMetadataThreePartsRepoHasDefaultLayout()
|
|||||||
{
|
{
|
||||||
archivaConfigurationControl.reset();
|
archivaConfigurationControl.reset();
|
||||||
|
|
||||||
expect( archivaConfiguration.getConfiguration() ).andReturn( config ).times( 2 );
|
expect( archivaConfiguration.getConfiguration() ).andReturn( config ).times( 1 );
|
||||||
|
|
||||||
expect( repoFactory.getManagedRepositoryContent( INTERNAL_REPO ) ).andReturn( internalRepo );
|
|
||||||
|
|
||||||
expect( request.getMethod() ).andReturn( "GET" ).times( 4 );
|
expect( request.getMethod() ).andReturn( "GET" ).times( 4 );
|
||||||
|
|
||||||
@ -561,6 +578,9 @@ public void testRequestArtifactMetadataTwoPartsRepoHasDefaultLayout()
|
|||||||
public void testRequestMetadataRepoIsLegacy()
|
public void testRequestMetadataRepoIsLegacy()
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
|
ManagedRepositoryContent legacyRepo = createManagedRepositoryContent( LEGACY_REPO );
|
||||||
|
ConfigurableListableBeanFactory beanFactory = ((ConfigurableApplicationContext) applicationContext).getBeanFactory();
|
||||||
|
beanFactory.registerSingleton("managedRepositoryContent#legacy", legacyRepo);
|
||||||
defaultManagedRepositoryAdmin.addManagedRepository(
|
defaultManagedRepositoryAdmin.addManagedRepository(
|
||||||
createManagedRepository( LEGACY_REPO, Paths.get( "target/test-classes/" + LEGACY_REPO ).toString(),
|
createManagedRepository( LEGACY_REPO, Paths.get( "target/test-classes/" + LEGACY_REPO ).toString(),
|
||||||
"legacy" ), false, null );
|
"legacy" ), false, null );
|
||||||
@ -568,7 +588,6 @@ public void testRequestMetadataRepoIsLegacy()
|
|||||||
new ArchivaDavResourceLocator( "", "/repository/" + LEGACY_REPO + "/eclipse/maven-metadata.xml",
|
new ArchivaDavResourceLocator( "", "/repository/" + LEGACY_REPO + "/eclipse/maven-metadata.xml",
|
||||||
LEGACY_REPO, new ArchivaDavLocatorFactory() );
|
LEGACY_REPO, new ArchivaDavLocatorFactory() );
|
||||||
|
|
||||||
ManagedRepositoryContent legacyRepo = createManagedRepositoryContent( LEGACY_REPO );
|
|
||||||
|
|
||||||
// use actual object (this performs the isMetadata, isDefault and isSupportFile check!)
|
// use actual object (this performs the isMetadata, isDefault and isSupportFile check!)
|
||||||
RepositoryRequest repoRequest = new RepositoryRequest( );
|
RepositoryRequest repoRequest = new RepositoryRequest( );
|
||||||
|
@ -20,13 +20,24 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
import org.apache.archiva.admin.model.beans.ManagedRepository;
|
|
||||||
import org.apache.archiva.common.filelock.FileLockManager;
|
import org.apache.archiva.common.filelock.FileLockManager;
|
||||||
import org.apache.archiva.repository.events.AuditListener;
|
import org.apache.archiva.repository.events.AuditListener;
|
||||||
|
import org.apache.archiva.repository.maven2.MavenManagedRepository;
|
||||||
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
|
import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
|
||||||
import org.apache.archiva.webdav.util.MimeTypes;
|
import org.apache.archiva.webdav.util.MimeTypes;
|
||||||
import org.apache.jackrabbit.webdav.*;
|
import org.apache.jackrabbit.webdav.DavException;
|
||||||
import org.apache.jackrabbit.webdav.lock.*;
|
import org.apache.jackrabbit.webdav.DavResource;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResourceFactory;
|
||||||
|
import org.apache.jackrabbit.webdav.DavResourceLocator;
|
||||||
|
import org.apache.jackrabbit.webdav.DavServletRequest;
|
||||||
|
import org.apache.jackrabbit.webdav.DavServletResponse;
|
||||||
|
import org.apache.jackrabbit.webdav.DavSession;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.ActiveLock;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.LockInfo;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.LockManager;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.Scope;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.SimpleLockManager;
|
||||||
|
import org.apache.jackrabbit.webdav.lock.Type;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -66,7 +77,7 @@ public class DavResourceTest
|
|||||||
|
|
||||||
private LockManager lockManager;
|
private LockManager lockManager;
|
||||||
|
|
||||||
private ManagedRepository repository = new ManagedRepository();
|
private MavenManagedRepository repository = new MavenManagedRepository( "repo001", "repo001");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Before
|
@Before
|
||||||
|
@ -125,6 +125,7 @@ public void setUp()
|
|||||||
configuration.removeManagedRepository( managedRepositoryConfiguration );
|
configuration.removeManagedRepository( managedRepositoryConfiguration );
|
||||||
org.apache.archiva.common.utils.FileUtils.deleteDirectory( repoRootInvalid );
|
org.apache.archiva.common.utils.FileUtils.deleteDirectory( repoRootInvalid );
|
||||||
|
|
||||||
|
repositoryRegistry.reload();
|
||||||
saveConfiguration( archivaConfiguration );
|
saveConfiguration( archivaConfiguration );
|
||||||
|
|
||||||
startRepository();
|
startRepository();
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
import org.apache.archiva.redback.system.SecuritySession;
|
import org.apache.archiva.redback.system.SecuritySession;
|
||||||
import org.apache.archiva.redback.users.User;
|
import org.apache.archiva.redback.users.User;
|
||||||
import org.apache.archiva.redback.users.memory.SimpleUser;
|
import org.apache.archiva.redback.users.memory.SimpleUser;
|
||||||
|
import org.apache.archiva.repository.RepositoryRegistry;
|
||||||
import org.apache.archiva.repository.audit.TestAuditListener;
|
import org.apache.archiva.repository.audit.TestAuditListener;
|
||||||
import org.apache.archiva.security.ServletAuthenticator;
|
import org.apache.archiva.security.ServletAuthenticator;
|
||||||
import org.apache.archiva.security.common.ArchivaRoleConstants;
|
import org.apache.archiva.security.common.ArchivaRoleConstants;
|
||||||
@ -86,6 +87,9 @@ public class RepositoryServletSecurityTest
|
|||||||
@Inject
|
@Inject
|
||||||
protected ArchivaConfiguration archivaConfiguration;
|
protected ArchivaConfiguration archivaConfiguration;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
protected RepositoryRegistry repositoryRegistry;
|
||||||
|
|
||||||
private DavSessionProvider davSessionProvider;
|
private DavSessionProvider davSessionProvider;
|
||||||
|
|
||||||
private IMocksControl servletAuthControl;
|
private IMocksControl servletAuthControl;
|
||||||
@ -188,6 +192,7 @@ protected ManagedRepositoryConfiguration createManagedRepository( String id, Str
|
|||||||
protected void saveConfiguration( ArchivaConfiguration archivaConfiguration )
|
protected void saveConfiguration( ArchivaConfiguration archivaConfiguration )
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
|
repositoryRegistry.reload();
|
||||||
archivaConfiguration.save( archivaConfiguration.getConfiguration() );
|
archivaConfiguration.save( archivaConfiguration.getConfiguration() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
<configuration>
|
<configuration>
|
||||||
|
|
||||||
<version>2</version>
|
<version>3.0.0</version>
|
||||||
|
|
||||||
<repositoryScanning>
|
<repositoryScanning>
|
||||||
<fileTypes>
|
<fileTypes>
|
||||||
|
@ -31,7 +31,10 @@
|
|||||||
|
|
||||||
<context:annotation-config/>
|
<context:annotation-config/>
|
||||||
<context:component-scan
|
<context:component-scan
|
||||||
base-package="org.apache.archiva.redback.keys,org.apache.archiva.webdav,org.apache.archiva.metadata.repository,org.apache.archiva.webdav.util,org.apache.archiva.common.plexusbridge"/>
|
base-package="org.apache.archiva.redback.keys,org.apache.archiva.webdav,org.apache.archiva.metadata.repository,org.apache.archiva.webdav.util,org.apache.archiva.common.plexusbridge,org.apache.archiva.repository.content.maven2,org.apache.archiva.repository"/>
|
||||||
|
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
|
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
|
||||||
<property name="properties">
|
<property name="properties">
|
||||||
|
@ -30,7 +30,10 @@
|
|||||||
<context:property-placeholder system-properties-mode="OVERRIDE"/>
|
<context:property-placeholder system-properties-mode="OVERRIDE"/>
|
||||||
|
|
||||||
<context:annotation-config/>
|
<context:annotation-config/>
|
||||||
<context:component-scan base-package="org.apache.archiva.redback.keys,org.apache.archiva.webdav,org.apache.archiva.metadata.repository"/>
|
<context:component-scan base-package="org.apache.archiva.redback.keys,org.apache.archiva.webdav,org.apache.archiva.metadata.repository,org.apache.archiva.repository,org.apache.archiva.repository.content.maven2"/>
|
||||||
|
|
||||||
|
<alias name="managedRepositoryContent#maven" alias="managedRepositoryContent#default" />
|
||||||
|
<alias name="remoteRepositoryContent#maven" alias="remoteRepositoryContent#default" />
|
||||||
|
|
||||||
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
|
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
|
||||||
<property name="properties">
|
<property name="properties">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user