/** * Untrack repository. */ private void untrack(final Repository repository) { log.debug("Untracking: {}", repository); repositories.remove(repository.getName()); // tear down security securityContributor.remove(repository); }
@Override public void deleteIndex(final Repository repository) { checkNotNull(repository); String indexName = repositoryNameMapping.remove(repository.getName()); if (indexName != null) { log.debug("Removing index of {}", repository); deleteIndex(indexName); } }
private void validateRepositoryConfiguration(final Repository repository) { checkArgument(repository.getConfiguration().getAttributes() != null, "Repository configuration not found " + repository.getName()); checkArgument(repository.getConfiguration().getAttributes().get(STORAGE_KEY) != null, "No storage configuration found for the repository " + repository.getName()); checkArgument( isNotBlank((String) repository.getConfiguration().getAttributes().get(STORAGE_KEY).get(BLOB_STORE_NAME_KEY)), "Blob store name not set for repository " + repository.getName()); } }
@Override public int rebuildArchetypeCatalog() throws IOException { log.debug("Rebuilding hosted archetype catalog for {}", getRepository().getName()); return doRebuildArchetypeCatalog(); }
@Override protected void doInit(Configuration configuration) throws Exception { repositoryMetadata = ImmutableMap.of(REPOSITORY_NAME, getRepository().getName()); super.doInit(configuration); }
@Override public void createIndex(final Repository repository) { checkNotNull(repository); final String safeIndexName = SHA1.function().hashUnencodedChars(repository.getName()).toString(); log.debug("Creating index for {}", repository); createIndex(repository, safeIndexName); }
@Override protected boolean canAttemptRestore(final RawRestoreBlobData data) { Repository repository = data.getBlobData().getRepository(); if (!repository.optionalFacet(RawContentFacet.class).isPresent()) { log.warn("Skipping as Raw Facet not found on repository: {}", repository.getName()); return false; } return true; }
private boolean canDeleteAssetInRepository(final Repository repository, final String repositoryFormat, final VariableResolverAdapter variableResolverAdapter, final Asset asset) { return contentPermissionChecker.isPermitted(repository.getName(), repositoryFormat, BreadActions.DELETE, variableResolverAdapter.fromAsset(asset)); }
@Override @Guarded(by = ACTIVE) public boolean assetExists(final String name, final Repository repository) { checkNotNull(name); checkNotNull(repository); return assetEntityAdapter.exists(db, name, bucketOf(repository.getName())); }
@Transactional protected PagedResponse<ComponentXO> searchForComponents(final Repository repository, final CleanupPolicy cleanupPolicy, final QueryOptions queryOptions) { PagedResponse<Component> components = cleanupComponentBrowse.browseByPage(cleanupPolicy, repository, queryOptions); List<ComponentXO> componentXOS = components.getData().stream() .map(item -> COMPONENT_CONVERTER.apply(item, repository.getName())) .collect(toList()); return new PagedResponse<>(components.getTotal(), componentXOS); }
@Override public Set<String> deleteMetadata(final String groupId, final String artifactId, final String baseVersion) { log.debug("Deleting Maven2 hosted repository metadata: repository={}, g={}, a={}, bV={}", getRepository().getName(), groupId, artifactId, baseVersion); return metadataRebuilder.deleteAndRebuild(getRepository(), groupId, artifactId, baseVersion); }
@Override public void invalidateGroupCaches() { log.info("Invalidating group caches of {}", getRepository().getName()); cacheController.invalidateCache(); for (Repository repository : members()) { RepositoryCacheUtils.invalidateCaches(repository); } }
@Override @AllowConcurrentEvents @Subscribe public void handle(final RepositoryCreatedEvent event) { if (sameRepositoryAs(event.getRepository().getName())) { setSatisfied(true); } }
@AllowConcurrentEvents @Subscribe public void handle(final RepositoryDeletedEvent event) { if (sameRepositoryAs(event.getRepository().getName())) { setSatisfied(false); } }
@Nonnull @Override public Response handle(@Nonnull final Context context) throws Exception { Repository repository = context.getRepository(); Parameters parameters = context.getRequest().getParameters(); log.debug("[searchIndex] repository: {} parameters: {}", repository.getName(), parameters); return NpmResponses.ok(repository.facet(NpmSearchIndexFacet.class).searchIndex(indexSince(parameters))); } };
private void removeRepositoryFromGroup(final Repository repositoryToRemove, final Repository group) throws Exception { NestedAttributesMap groupAttributes = group.getConfiguration().attributes("group"); groupAttributes.get("memberNames", Collection.class).remove(repositoryToRemove.getName()); update(group.getConfiguration()); }
private void logAutoBlockTimeIncreased(final RemoteConnectionStatus oldStatus, final RemoteConnectionStatus newStatus) { String message = "Repository status for {} continued as {} until {} - reason {} (previous reason was {})"; log.info(message, getRepository().getName(), newStatus.getType(), newStatus.getBlockedUntil(), statusReason(newStatus), statusReason(oldStatus) ); }
@Override @AllowConcurrentEvents @Subscribe public void handle(final RepositoryCreatedEvent event) { if (sameRepositoryAs(event.getRepository().getName())) { setSatisfied(event.getRepository().getConfiguration().isOnline()); } }
@TransactionalDeleteBlob protected void deleteAsset() throws IOException { log.debug("Invalidating cached npm index of {}", getRepository().getName()); StorageTx tx = UnitOfWork.currentTx(); Asset asset = NpmFacetUtils.findRepositoryRootAsset(tx, tx.findBucket(getRepository())); if (asset == null) { return; } tx.deleteAsset(asset); eventManager.post(new NpmSearchIndexInvalidatedEvent(getRepository())); }
@Override protected void doDelete() throws Exception { // skip when replicating, origin node will delete the bucket blobs if (!EventHelper.isReplicating()) { inTxRetry(databaseInstanceProvider).run(db -> { Bucket bucket = bucketEntityAdapter.read(db, getRepository().getName()); storageFacetManager.enqueueDeletion(getRepository(), blobStoreManager.get(config.blobStoreName), bucket); }); } }