IndexCreationFeature icf = repository.getFeature( IndexCreationFeature.class ).get( ); if ( !icf.isSkipPackedIndexCreation( ) && icf.getLocalPackedIndexPath( ) != null )
if ( managedRepository.supportsFeature( IndexCreationFeature.class ) ) IndexCreationFeature icf = managedRepository.getFeature( IndexCreationFeature.class ).get( ); if ( icf.getIndexPath( ) == null )
IndexCreationFeature idf = managedRepository.getRepository().getFeature(IndexCreationFeature.class).get(); String repoIndexDirectory = idf.getIndexPath().toString(); if ( StringUtils.isNotEmpty( repoIndexDirectory ) )
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; }
@SuppressWarnings( "unchecked" ) private void updateRepositoryReferences(RepositoryProvider provider, ManagedRepository repo, ManagedRepositoryConfiguration cfg, Configuration configuration) throws RepositoryException { log.debug("Updating references of repo {}",repo.getId()); if ( repo.supportsFeature( StagingRepositoryFeature.class ) ) { StagingRepositoryFeature feature = repo.getFeature( StagingRepositoryFeature.class ).get( ); if ( feature.isStageRepoNeeded( ) && feature.getStagingRepository() == null) { ManagedRepository stageRepo = getStagingRepository( provider, cfg, configuration); managedRepositories.put(stageRepo.getId(), stageRepo); feature.setStagingRepository( stageRepo ); if (configuration!=null) { replaceOrAddRepositoryConfig( provider.getManagedConfiguration( stageRepo ), configuration ); } } } if ( repo instanceof EditableManagedRepository) { EditableManagedRepository editableRepo = (EditableManagedRepository) repo; if (repo.getContent()==null) { editableRepo.setContent(repositoryContentFactory.getManagedRepositoryContent(repo)); } log.debug("Index repo: "+repo.hasIndex()); if (repo.hasIndex() && repo.getIndexingContext()==null) { log.debug("Creating indexing context for {}", repo.getId()); createIndexingContext(editableRepo); } } }
@Before @Override public void setUp() throws Exception { super.setUp(); org.apache.archiva.repository.ManagedRepository repoConfiguration = getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ); List<RepositoryListener> listeners = Collections.singletonList( listener ); ArtifactCleanupFeature acf = repoConfiguration.getFeature( ArtifactCleanupFeature.class ).get(); repoPurge = new RetentionCountRepositoryPurge( getRepository(), acf.getRetentionCount(), repositorySession, listeners ); }
ArtifactCleanupFeature acf = repoConfiguration.getFeature( ArtifactCleanupFeature.class ).get(); acf.setDeleteReleasedSnapshots( false ); // Set to NOT delete released snapshots. addRepoToConfiguration( "retention-count", repoConfiguration );
ArtifactCleanupFeature acf = repoConfiguration.getFeature( ArtifactCleanupFeature.class ).get(); acf.setDeleteReleasedSnapshots( true ); addRepoToConfiguration( "days-old", repoConfiguration );
cfg.setScanned(managedRepository.isScanned()); cfg.setBlockRedeployments(managedRepository.blocksRedeployments()); StagingRepositoryFeature stagingRepositoryFeature = managedRepository.getFeature(StagingRepositoryFeature.class).get(); cfg.setStageRepoNeeded(stagingRepositoryFeature.isStageRepoNeeded()); IndexCreationFeature indexCreationFeature = managedRepository.getFeature(IndexCreationFeature.class).get(); cfg.setIndexDir(convertUriToPath(indexCreationFeature.getIndexPath())); cfg.setPackedIndexDir(convertUriToPath(indexCreationFeature.getPackedIndexPath())); cfg.setSkipPackedIndexCreation(indexCreationFeature.isSkipPackedIndexCreation()); ArtifactCleanupFeature artifactCleanupFeature = managedRepository.getFeature(ArtifactCleanupFeature.class).get(); cfg.setRetentionCount(artifactCleanupFeature.getRetentionCount()); cfg.setRetentionPeriod(artifactCleanupFeature.getRetentionPeriod().getDays());
ArtifactCleanupFeature atf = repoConfiguration.getFeature( ArtifactCleanupFeature.class ).get(); List<RepositoryListener> listeners = Collections.singletonList( listener ); repoPurge = new DaysOldRepositoryPurge( getRepository(), atf.getRetentionPeriod().getDays(),
ArtifactCleanupFeature atf = repoConfiguration.getFeature( ArtifactCleanupFeature.class ).get(); atf.setRetentionPeriod( Period.ofDays( TEST_DAYS_OLDER ) ); addRepoToConfiguration( "days-old", repoConfiguration );
ArtifactCleanupFeature atf = repoConfiguration.getFeature( ArtifactCleanupFeature.class ).get(); List<RepositoryListener> listeners = Collections.singletonList( listener ); repoPurge = new DaysOldRepositoryPurge( getRepository(), atf.getRetentionPeriod().getDays(),
@Override public void beginScan( ManagedRepository repository, Date whenGathered ) throws ConsumerException { ManagedRepositoryContent repositoryContent; repositoryContent = repository.getContent(); repositorySession = repositorySessionFactory.createSession( ); if (repository.supportsFeature( ArtifactCleanupFeature.class )) { ArtifactCleanupFeature acf = repository.getFeature( ArtifactCleanupFeature.class ).get(); int retentionPeriodInDays = acf.getRetentionPeriod( ).getDays( ); int retentionCount = acf.getRetentionCount(); if ( retentionPeriodInDays != 0 ) { repoPurge = new DaysOldRepositoryPurge( repositoryContent, retentionPeriodInDays, retentionCount, repositorySession, listeners ); } else { repoPurge = new RetentionCountRepositoryPurge( repositoryContent, retentionCount, repositorySession, listeners ); } deleteReleasedSnapshots = acf.isDeleteReleasedSnapshots( ); } else { throw new ConsumerException( "The repository does not support the ArtifactCleanup feature "+repository.getId() ); } cleanUp = new CleanupReleasedSnapshotsRepositoryPurge( repositoryContent, metadataTools, repositoryRegistry, repositorySession, listeners ); }
ArtifactCleanupFeature atf = repoConfiguration.getFeature( ArtifactCleanupFeature.class ).get(); atf.setRetentionPeriod( Period.ofDays( 0 ) ); // force days older off to allow retention count purge to execute. atf.setRetentionCount( TEST_RETENTION_COUNT );
ArtifactCleanupFeature atf = repoConfiguration.getFeature( ArtifactCleanupFeature.class ).get(); repoPurge = new DaysOldRepositoryPurge( getRepository(), atf.getRetentionPeriod().getDays(), atf.getRetentionCount(), repositorySession,
@Override public ManagedRepositoryConfiguration getManagedConfiguration( ManagedRepository managedRepository ) { ManagedRepositoryConfiguration configuration = new ManagedRepositoryConfiguration( ); configuration.setId( managedRepository.getId( ) ); configuration.setName(managedRepository.getName()); configuration.setLocation( managedRepository.getLocation( ) == null ? "" : managedRepository.getLocation().toString( ) ); configuration.setBlockRedeployments( managedRepository.blocksRedeployments( ) ); configuration.setDescription( managedRepository.getDescription( ) ); configuration.setScanned( managedRepository.isScanned( ) ); configuration.setRefreshCronExpression( managedRepository.getSchedulingDefinition( ) ); configuration.setReleases( managedRepository.getActiveReleaseSchemes().contains(ReleaseScheme.RELEASE) ); configuration.setSnapshots( managedRepository.getActiveReleaseSchemes().contains(ReleaseScheme.SNAPSHOT) ); configuration.setLayout( managedRepository.getLayout() ); ArtifactCleanupFeature acf = managedRepository.getFeature( ArtifactCleanupFeature.class ).get( ); configuration.setRetentionPeriod( acf.getRetentionPeriod( ).getDays( ) ); configuration.setDeleteReleasedSnapshots( acf.isDeleteReleasedSnapshots( ) ); configuration.setRetentionCount( acf.getRetentionCount( ) ); IndexCreationFeature icf = managedRepository.getFeature( IndexCreationFeature.class ).get( ); configuration.setSkipPackedIndexCreation( icf.isSkipPackedIndexCreation( ) ); configuration.setIndexDir( icf.getIndexPath( ) == null ? "" : icf.getIndexPath().toString( ) ); StagingRepositoryFeature srf = managedRepository.getFeature( StagingRepositoryFeature.class ).get( ); configuration.setStageRepoNeeded( srf.isStageRepoNeeded( ) ); return configuration; }