/** * Returns true if the repository is of type {@link GroupType} * * @since 3.6.1 */ protected boolean isGroupRepository(final Repository repository) { return groupType.equals(repository.getType()); }
@Override public void cleanup(final BooleanSupplier cancelledCheck) { AtomicLong totalDeletedCount = new AtomicLong(0L); repositoryManager.browse().forEach(repository -> { if (!cancelledCheck.getAsBoolean() && !repository.getType().equals(groupType)) { totalDeletedCount.addAndGet(this.cleanup(repository, cancelledCheck)); } }); log.info("{} components cleaned up across all repositories", totalDeletedCount.get()); }
/** * Invalidates the group or proxy caches of the specified repository based on type. * * This is a no-op for hosted repositories. */ public static void invalidateCaches(final Repository repository) { checkNotNull(repository); if (GroupType.NAME.equals(repository.getType().getValue())) { invalidateGroupCaches(repository); } else if (ProxyType.NAME.equals(repository.getType().getValue())) { invalidateProxyAndNegativeCaches(repository); } }
/** * Prefetch proxy repository index files, if possible. Returns {@code true} if successful. Accepts only maven proxy * types. Returns {@code true} if successfully prefetched files (they exist on remote and are locally cached). */ public static boolean prefetchIndexFiles(final Repository repository) throws IOException { checkNotNull(repository); checkArgument(ProxyType.NAME.equals(repository.getType().getValue())); return prefetch(repository, INDEX_PROPERTY_FILE) && prefetch(repository, INDEX_MAIN_CHUNK_FILE); }
/** * Processes this facet's associated repository as a group repository, iterating over its members. */ private void processAsGroup(final MavenGroupFacet groupFacet, final int numberOfDays) { groupFacet.members().stream() .filter(member -> hostedType.equals(member.getType()) || groupType.equals(member.getType())) .forEach(member -> member.facet(PurgeUnusedSnapshotsFacet.class).purgeUnusedSnapshots(numberOfDays)); }
/** * Invalidates the group caches for given repository. */ public static void invalidateGroupCaches(final Repository repository) { checkNotNull(repository); checkArgument(GroupType.NAME.equals(repository.getType().getValue())); GroupFacet groupFacet = repository.facet(GroupFacet.class); groupFacet.invalidateGroupCaches(); }
private List<Repository> getRepositories(final Repository repository) { checkNotNull(repository); if (groupType.equals(repository.getType())) { return repository.facet(GroupFacet.class).leafMembers(); } return ImmutableList.of(repository); }
private boolean containsGroup(Repository root, String repositoryName, Set<Repository> checkedGroups) { return root.facet(GroupFacet.class).members().stream().anyMatch((repository) -> { return checkedGroups.add(repository) && (repository.getName().equals(repositoryName) || (groupType.equals(repository.getType()) && containsGroup(repository, repositoryName, checkedGroups))); }); }
private List<Repository> allMembers(final Repository repository) { if (groupType.equals(repository.getType())) { return repository.facet(GroupFacet.class).allMembers(); } else { return Collections.singletonList(repository); } }
/** * Iterate over group members which may contain snapshots and recursively apply the snapshot removal. */ private void processGroup(final MavenGroupFacet groupFacet, final RemoveSnapshotsConfig config) { groupFacet.members().stream() .filter(member -> isSnapshotRepo(member) || groupType.equals(member.getType())) .forEach(member -> member.facet(RemoveSnapshotsFacet.class).removeSnapshots(config)); }
/** * Invalidates the proxy and negative caches for given repository. */ public static void invalidateProxyAndNegativeCaches(final Repository repository) { checkNotNull(repository); checkArgument(ProxyType.NAME.equals(repository.getType().getValue())); ProxyFacet proxyFacet = repository.facet(ProxyFacet.class); proxyFacet.invalidateProxyCaches(); NegativeCacheFacet negativeCacheFacet = repository.facet(NegativeCacheFacet.class); negativeCacheFacet.invalidate(); } }
@Override protected boolean appliesTo(final Repository repository) { return maven2Format.equals(repository.getFormat()) && hostedType.equals(repository.getType()); }
protected boolean shouldRepairRepository(final Repository repository) { return repository.getFormat().equals(format) && repository.getType().equals(type); }
ConstraintViolation<?> validateGroupDoesNotContainItself(String repositoryName, Config config) { Set<Repository> checkedGroups = new HashSet<>(); for (String memberName : config.memberNames) { Repository repository = repositoryManager.get(memberName); if (repository.getName().equals(repositoryName) || (groupType.equals(repository.getType()) && containsGroup(repository, repositoryName, checkedGroups))) { return constraintViolationFactory.createViolation(P_ATTRIBUTES + "." + CONFIG_KEY + ".memberNames", "Group '" + repository.getName() + "' has a member repository '" + repositoryName + "' and cannot be added to this list."); } } return null; }
@Override protected void doValidate(final Configuration configuration) throws Exception { facet(ConfigurationFacet.class).validateSection( configuration, CONFIG_KEY, Config.class, Default.class, getRepository().getType().getValidationGroup()); }
@Override protected void doValidate(final Configuration configuration) throws Exception { facet(ConfigurationFacet.class).validateSection(configuration, CONFIG_KEY, Config.class, Default.class, getRepository().getType().getValidationGroup() ); }
@Override protected void doValidate(final Configuration configuration) throws Exception { facet(ConfigurationFacet.class).validateSection(configuration, CONFIG_KEY, Config.class, Default.class, getRepository().getType().getValidationGroup() ); }
@Override protected void doValidate(final Configuration configuration) throws Exception { facet(ConfigurationFacet.class).validateSection( configuration, CONFIG_KEY, Config.class, Default.class, getRepository().getType().getValidationGroup()); }
@Override protected void doValidate(final Configuration configuration) throws Exception { facet(ConfigurationFacet.class).validateSection(configuration, STORAGE, Config.class, Default.class, getRepository().getType().getValidationGroup() ); StorageFacetImpl.Config configToValidate = facet(ConfigurationFacet.class) .readSection(configuration, STORAGE, StorageFacetImpl.Config.class); Set<ConstraintViolation<?>> violations = new HashSet<>(); maybeAdd(violations, validateBlobStoreNotInGroup(configToValidate.blobStoreName)); maybePropagate(violations, log); }