private boolean process( SnapshotRemovalRequest request, SnapshotRemovalResult result, Repository repository ) { // only from maven repositories, stay silent for others and simply skip if ( !repository.getRepositoryContentClass().isCompatible( maven2ContentClass ) ) { getLogger().debug( "Skipping '" + repository.getId() + "' is not a maven 2 repository" ); return false; } if ( !repository.getLocalStatus().shouldServiceRequest() ) { getLogger().debug( "Skipping '" + repository.getId() + "' the repository is out of service" ); return false; } if ( repository.getRepositoryKind().isFacetAvailable( ProxyRepository.class ) ) { getLogger().debug( "Skipping '" + repository.getId() + "' is a proxy repository" ); return false; } if ( repository.getRepositoryKind().isFacetAvailable( GroupRepository.class ) ) { process( request, result, repository.adaptToFacet( GroupRepository.class ) ); } else if ( repository.getRepositoryKind().isFacetAvailable( MavenRepository.class ) ) { result.addResult( removeSnapshotsFromMavenRepository( repository.adaptToFacet( MavenRepository.class ), request ) ); } return true; }
/** * Extracts the repo root on local FS as File. It may return null! */ protected File getRepositoryLocalStorageAsFile(Repository repository) { if (repository.getLocalUrl() != null && repository.getLocalStorage() instanceof DefaultFSLocalRepositoryStorage) { try { File baseDir = ((DefaultFSLocalRepositoryStorage) repository.getLocalStorage()).getBaseDir(repository, new ResourceStoreRequest(RepositoryItemUid.PATH_ROOT)); return baseDir; } catch (LocalStorageException e) { log.warn(String.format("Cannot determine \"%s\" (ID=%s) repository's basedir:", repository.getName(), repository.getId()), e); } } return null; }
static StorageItem retrieveItem(final Repository repository, final String path) throws Exception { final ResourceStoreRequest request = new ResourceStoreRequest(path); final StorageItem item = repository.retrieveItem(request); return item; }
@Nullable private File getRepositoryLocalStorageFile(final Repository repository, final String path) { if (repository.getLocalUrl() != null && repository.getLocalStorage() instanceof DefaultFSLocalRepositoryStorage) { try { return ((DefaultFSLocalRepositoryStorage) repository.getLocalStorage()) .getBaseDir(repository, new ResourceStoreRequest(path)); } catch (LocalStorageException e) { log.warn("Cannot get {} file from {} repository's LS", path, repository.getId(), e); } } return null; } }
if ((allReposes || repository.isUserManaged()) && (includeGroups || !repository.getRepositoryKind().isFacetAvailable(GroupRepository.class))) { repoRes = new RepositoryListResource(); repoRes.setResourceURI(createRepositoryReference(request, repository.getId()).toString()); repoRes.setFormat(repository.getRepositoryContentClass().getId()); repoRes.setId(repository.getId()); repoRes.setName(repository.getName()); repoRes.setUserManaged(repository.isUserManaged()); repoRes.setExposed(repository.isExposed()); repoRes.setEffectiveLocalStorageUrl(repository.getLocalUrl()); if (repository.getRepositoryKind().isFacetAvailable(MavenRepository.class)) { repoRes.setRepoPolicy(repository.adaptToFacet(MavenRepository.class).getRepositoryPolicy() .toString()); if (repository.getRepositoryKind().isFacetAvailable(ProxyRepository.class)) { repoRes.setRemoteUri(repository.adaptToFacet(ProxyRepository.class).getRemoteUrl());
public static String getRepositoryPolicy( Repository repository ) { if ( repository.getRepositoryKind().isFacetAvailable( MavenRepository.class ) ) { return repository.adaptToFacet( MavenRepository.class ).getRepositoryPolicy().toString(); } else { return null; } } }
boolean isPathContained( Repository repository, String path ) { for ( TargetMatch targetMatch : matches ) { if ( targetMatch.getRepository().getId().equals( repository.getId() ) && targetMatch.getTarget().isPathContained( repository.getRepositoryContentClass(), path ) ) { return true; } } return false; } }
/** * Adds the repository to the list of processed repositories. * * @param repository */ public void addProcessedRepository( Repository repository ) { processedRepositories.add( repository.getId() ); }
/** * Archetype Catalog subjects are Maven2 hosted, proxy and group repositories that are In Service. */ private boolean isArchetypeCatalogSubject(final Repository repository) { return maven2ContentClass.isCompatible(repository.getRepositoryContentClass()) && repository.getLocalStatus().shouldServiceRequest() && (repository.getRepositoryKind().isFacetAvailable(HostedRepository.class) || repository.getRepositoryKind().isFacetAvailable(ProxyRepository.class) || repository.getRepositoryKind().isFacetAvailable(GroupRepository.class)); }
/** * Indexing is supported for this repository. */ private boolean SUPPORTED(Repository repository) { return !repository.getRepositoryKind().isFacetAvailable(ShadowRepository.class) && repository.getRepositoryKind().isFacetAvailable(MavenRepository.class) && repository.getRepositoryContentClass().isCompatible(maven2); }
@Subscribe @AllowConcurrentEvents public void inspect(final RepositoryEventLocalStatusChanged revt) { StringBuilder sb = new StringBuilder("The repository '"); sb.append(revt.getRepository().getName()); sb.append("' (ID='").append(revt.getRepository().getId()).append("') was put "); LocalStatus newStatus = revt.getNewLocalStatus(); if (LocalStatus.IN_SERVICE.equals(newStatus)) { sb.append("IN SERVICE."); } else if (LocalStatus.OUT_OF_SERVICE.equals(newStatus)) { sb.append("OUT OF SERVICE."); } else { sb.append(revt.getRepository().getLocalStatus().toString()).append("."); } sb.append(" The previous state was "); if (LocalStatus.IN_SERVICE.equals(revt.getOldLocalStatus())) { sb.append("IN SERVICE."); } else if (LocalStatus.OUT_OF_SERVICE.equals(revt.getOldLocalStatus())) { sb.append("OUT OF SERVICE."); } else { sb.append(revt.getOldLocalStatus().toString()).append("."); } getFeedRecorder().addSystemEvent(FeedRecorder.SYSTEM_REPO_LSTATUS_CHANGES_ACTION, sb.toString()); }
if (repository.isIndexable()) { new StringContentLocator(ArchetypeContentGenerator.ID)); file.setContentGeneratorId(ArchetypeContentGenerator.ID); repository.storeItem(false, file); e.getRepository().getId()); repository.deleteItem(false, new ResourceStoreRequest(ARCHETYPE_PATH)); e.getRepository().getId());
/** * Instantiates a new abstract storage item. */ public AbstractStorageItem( Repository repository, ResourceStoreRequest request, boolean readable, boolean writable ) { this( request, readable, writable ); this.store = repository; this.repositoryItemUid = repository.createUid( getPath() ); setRepositoryId( repository.getId() ); }
protected List<Mirror> getMirrors( Repository repository ) { if ( repository.getRepositoryKind().isFacetAvailable( ProxyRepository.class ) ) { return repository.adaptToFacet( ProxyRepository.class ).getDownloadMirrors().getMirrors(); } else { return repository.getPublishedMirrors().getMirrors(); } }
@Override public String renderStatus() { if (isConfigured()) { try { final Repository repository = repositoryRegistry.getRepository(getConfig().repository()); final StorageItem storageItem = repository.retrieveItem( new ResourceStoreRequest(YumConfigContentGenerator.configFilePath(repository.getId()), true) ); if (storageItem instanceof StorageFileItem) { try (InputStream in = ((StorageFileItem) storageItem).getInputStream()) { return "<b>Example Yum configuration file:</b><br/><br/>" + "<pre>" + IOUtils.toString(in) + "</pre>"; } } } catch (Exception e) { return null; } } return null; }
@Override protected void validateMemberRepository(final Repository repository) throws InvalidGroupingException { if (repository.getRepositoryKind().isFacetAvailable(P2CompositeGroupRepository.class)) { throw new InvalidGroupingException(String.format( "Repository '%s' cannot be grouped as P2 composite groups are not supported as members of P2 legacy groups", repository.getName() )); } super.validateMemberRepository(repository); }
@Override public String getRepositoryName() { return repository.getName(); }
public void cleanRepositoryFolders( final Repository repository, boolean deleteForever ) throws IOException { File defaultStorageFolder = new File( new File( getApplicationConfiguration().getWorkingDirectory(), "storage" ), repository.getId() ); String defaultStorageURI = defaultStorageFolder.toURI().toURL().toString(); defaultStorageURI = defaultStorageURI.endsWith( "/" ) ? defaultStorageURI : defaultStorageURI + "/"; String localURI = repository.getLocalUrl(); localURI = localURI.endsWith( "/" ) ? localURI : localURI + "/"; boolean defaultLocation = defaultStorageURI.equals( localURI ); // we do this _only_ if storage is not user-customized if ( defaultLocation ) { delete( defaultStorageFolder, deleteForever ); } } }
public void publishAllIndex() throws IOException { List<Repository> reposes = repositoryRegistry.getRepositories(); for ( Repository repository : reposes ) { if ( LocalStatus.IN_SERVICE.equals( repository.getLocalStatus() ) && !repository.getRepositoryKind().isFacetAvailable( GroupRepository.class ) && repository.isIndexable() ) { publishRepositoryIndex( repository ); } } List<GroupRepository> groups = repositoryRegistry.getRepositoriesWithFacet( GroupRepository.class ); for ( GroupRepository group : groups ) { publishRepositoryIndex( group ); } }