private Path getRepositoryBasedir( String repoId ) throws RepositoryStorageRuntimeException { ManagedRepository repositoryConfiguration = repositoryRegistry.getManagedRepository( repoId ); return Paths.get( repositoryConfiguration.getLocation() ); }
RemoteRepository repo = getRemoteRepository( id ); if (repo!=null) { rwLock.writeLock().lock(); repo = remoteRepositories.remove( id ); if (repo!=null) { Configuration configuration = getArchivaConfiguration().getConfiguration(); doRemoveRepo(repo, configuration); getArchivaConfiguration().save( configuration );
public void removeRepository(String repoId) throws RepositoryException { Repository repo = getRepository(repoId); if (repo!=null) { removeRepository(repo); } }
public void removeRepository( RemoteRepository remoteRepository, Configuration configuration) throws RepositoryException { final String id = remoteRepository.getId(); RemoteRepository repo = getRemoteRepository( id ); if (repo!=null) { rwLock.writeLock().lock(); try { repo = remoteRepositories.remove( id ); if (repo!=null) { doRemoveRepo(repo, configuration); } } finally { rwLock.writeLock().unlock(); } } }
/** * Adds a remote repository, or overwrites the repository definition with the same id, if it exists already. * The modification is saved to the configuration immediately. * * @param remoteRepository the remote repository to add * @throws RepositoryException if an error occurs during configuration save */ public RemoteRepository putRepository( RemoteRepository remoteRepository ) throws RepositoryException { rwLock.writeLock( ).lock( ); try { Configuration configuration = getArchivaConfiguration().getConfiguration(); try { RemoteRepository repo = putRepository( remoteRepository, configuration ); getArchivaConfiguration().save(configuration); return repo; } catch ( RegistryException | IndeterminateConfigurationException e ) { log.error("Error while saving remote repository {}", e.getMessage(), e); throw new RepositoryException( "Could not save the configuration" + (e.getMessage( )==null?"":": "+e.getMessage()) ); } } finally { rwLock.writeLock( ).unlock( ); } }
@Test public void testNonArtifactFile() throws Exception { RepositoryRegistry repositoryRegistry = applicationContext.getBean(RepositoryRegistry.class); ManagedRepository managedRepository = repositoryRegistry.getManagedRepository( TEST_REPO_ID ); repositoryRegistry.removeRepository( managedRepository ); repositoryRegistry.putRepository( getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME )); String repoRoot = prepareTestRepos(); // test listeners for the correct artifacts listenerControl.replay(); Path file = Paths.get(repoRoot, INDEX_PATH ); if ( !Files.exists(file) ) { // help windauze to create directory with . Files.createDirectories( file.getParent() ); Files.createFile( file ); } assertTrue( Files.exists(file) ); repoPurge.process( INDEX_PATH ); listenerControl.verify(); assertTrue( Files.exists(file) ); }
ManagedRepository managedRepository = repositoryRegistry.getManagedRepository(readMetadataRequest.getRepositoryId()); boolean isReleases = managedRepository.getActiveReleaseSchemes().contains(ReleaseScheme.RELEASE); boolean isSnapshots = managedRepository.getActiveReleaseSchemes().contains(ReleaseScheme.SNAPSHOT); repositoryRegistry.getRemoteRepository( proxyConnector.getTargetRepoId() ); remoteRepositories.addAll( repositoryRegistry.getRemoteRepositories() );
ManagedRepository repo = repositoryRegistry.getManagedRepository( proxyConfig.getSourceRepoId( ) ); if (repo==null) { log.error("Cannot find source repository after config change "+proxyConfig.getSourceRepoId()); RemoteRepository rRepo = repositoryRegistry.getRemoteRepository( proxyConfig.getTargetRepoId() ); if (rRepo==null) { log.error("Cannot find target repository after config change "+proxyConfig.getSourceRepoId());
ManagedRepository repo = getManagedRepository( id ); if (repo!=null) { rwLock.writeLock().lock(); if (repo!=null) { repo.close(); Configuration configuration = getArchivaConfiguration().getConfiguration(); ManagedRepositoryConfiguration cfg = configuration.findManagedRepositoryById( id ); if (cfg!=null) { configuration.removeManagedRepository( cfg ); getArchivaConfiguration().save( configuration );
private ManagedRepository getStagingRepository(RepositoryProvider provider, ManagedRepositoryConfiguration baseRepoCfg, Configuration configuration) throws RepositoryException { ManagedRepository stageRepo = getManagedRepository( baseRepoCfg.getId( ) + StagingRepositoryFeature.STAGING_REPO_POSTFIX ); if ( stageRepo == null ) { stageRepo = provider.createStagingInstance( baseRepoCfg ); if (stageRepo.supportsFeature(StagingRepositoryFeature.class)) { stageRepo.getFeature(StagingRepositoryFeature.class).get().setStageRepoNeeded(false); } ManagedRepositoryConfiguration stageCfg = provider.getManagedConfiguration( stageRepo ); updateRepositoryReferences( provider, stageRepo, stageCfg, configuration); } return stageRepo; }
RemoteRepository repo = repositoryRegistry.getRemoteRepository(proxyConnector.getTargetRepoId()); if (repo.getType()==RepositoryType.MAVEN) { try {
Configuration configuration = getArchivaConfiguration().getConfiguration(); ManagedRepository repo = managedRepositories.get(id); ManagedRepositoryConfiguration oldCfg = repo!=null ? getProvider( repositoryType ).getManagedConfiguration( repo ) : null; repo = putRepository( managedRepositoryConfiguration, configuration ); try getArchivaConfiguration().save(configuration); getProvider( repositoryType ).updateManagedInstance( (EditableManagedRepository)repo, oldCfg );
repositoryRegistry.removeRepository( TEST_REPO_ID ); repositoryRegistry.putRepository( getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ));
private IndexingContext getIndexingContext(String id) { String repoId; if (StringUtils.startsWith(id, "remote-")) { repoId = StringUtils.substringAfter(id, "remote-"); } else { repoId = id; } Repository repo = repositoryRegistry.getRepository(repoId); if (repo==null) { return null; } else { if (repo.getIndexingContext()!=null) { try { return repo.getIndexingContext().getBaseContext(IndexingContext.class); } catch (UnsupportedBaseContextException e) { return null; } } else { return null; } } }
@SuppressWarnings( "unchecked" ) public void removeRepository(Repository repo) throws RepositoryException { if (repo instanceof RemoteRepository ) { removeRepository( (RemoteRepository)repo ); } else if (repo instanceof ManagedRepository) { removeRepository( (ManagedRepository)repo); } else { throw new RepositoryException( "Repository type not known: "+repo.getClass() ); } }
private void addRepoToConfiguration( String configHint, org.apache.archiva.repository.ManagedRepository repoConfiguration ) throws Exception { RepositoryRegistry repositoryRegistry = applicationContext.getBean(RepositoryRegistry.class); repositoryRegistry.putRepository( repoConfiguration ); }
@PostConstruct public void startup() throws DownloadRemoteIndexException, UnsupportedBaseContextException { archivaConfiguration.addListener( this ); // TODO add indexContexts even if null for ( org.apache.archiva.repository.RemoteRepository remoteRepository : repositoryRegistry.getRemoteRepositories() ) { String contextKey = "remote-" + remoteRepository.getId(); IndexingContext context = remoteRepository.getIndexingContext().getBaseContext(IndexingContext.class); if ( context == null ) { continue; } RemoteIndexFeature rif = remoteRepository.getFeature(RemoteIndexFeature.class).get(); // TODO record jobs from configuration if ( rif.isDownloadRemoteIndex() && StringUtils.isNotEmpty( remoteRepository.getSchedulingDefinition() ) ) { boolean fullDownload = context.getIndexDirectoryFile().list().length == 0; scheduleDownloadRemote( remoteRepository.getId(), false, fullDownload ); } } }
ManagedRepository managedRepository = repositoryRegistry.getManagedRepository( TEST_REPO_ID ); repositoryRegistry.removeRepository( TEST_REPO_ID ); repositoryRegistry.putRepository( getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ));
repositoryRegistry.getRemoteRepository( proxyConnector.getTargetRepoId() ) );
Configuration configuration = getArchivaConfiguration().getConfiguration(); RemoteRepository repo = remoteRepositories.get(id); RemoteRepositoryConfiguration oldCfg = repo!=null ? getProvider( repositoryType ).getRemoteConfiguration( repo ) : null; repo = putRepository( remoteRepositoryConfiguration, configuration ); try getArchivaConfiguration().save(configuration); getProvider( repositoryType ).updateRemoteInstance( (EditableRemoteRepository)repo, oldCfg );