@Override public void storeItem( boolean fromTask, StorageItem item ) throws UnsupportedStorageOperationException, IllegalOperationException, StorageException { if ( shouldServeByPolicies( new ResourceStoreRequest( item ) ) ) { super.storeItem( fromTask, item ); } else { String msg = "Storing of item " + item.getRepositoryItemUid().toString() + " is forbidden by Maven Repository policy. Because " + getId() + " is a " + getRepositoryPolicy().name() + " repository"; getLogger().info( msg ); throw new UnsupportedStorageOperationException( msg ); } }
public static String getRepositoryPolicy( Repository repository ) { if ( repository.getRepositoryKind().isFacetAvailable( MavenRepository.class ) ) { return repository.adaptToFacet( MavenRepository.class ).getRepositoryPolicy().toString(); } else { return null; } } }
private void addRepositoryDetails(List<NexusNGRepositoryDetail> repoDetails, Request request, Repository repository) { boolean add = true; for (NexusNGRepositoryDetail repoDetail : repoDetails) { if (repoDetail.getRepositoryId().equals(repository.getId())) { add = false; break; } } if (add) { NexusNGRepositoryDetail repoDetail = new NexusNGRepositoryDetail(); repoDetail.setRepositoryId(repository.getId()); repoDetail.setRepositoryName(repository.getName()); repoDetail.setRepositoryURL(createRepositoryReference(request, repository.getId()).getTargetRef().toString()); repoDetail.setRepositoryContentClass(repository.getRepositoryContentClass().getId()); repoDetail.setRepositoryKind(extractRepositoryKind(repository)); MavenRepository mavenRepo = repository.adaptToFacet(MavenRepository.class); if (mavenRepo != null) { repoDetail.setRepositoryPolicy(mavenRepo.getRepositoryPolicy().name()); } repoDetails.add(repoDetail); } }
protected boolean versionMatchesPolicy( String version, RepositoryPolicy policy ) { boolean result = false; if ( ( RepositoryPolicy.SNAPSHOT.equals( policy ) && Gav.isSnapshot( version ) ) || ( RepositoryPolicy.RELEASE.equals( policy ) && !Gav.isSnapshot( version ) ) ) { result = true; } return result; }
public static String getRepositoryPolicy(Repository repository) { if (repository.getRepositoryKind().isFacetAvailable(MavenRepository.class)) { return repository.adaptToFacet(MavenRepository.class).getRepositoryPolicy().toString(); } else { return null; } } }
private RepositoryBaseResource createHosted( RepositoryTemplate template ) { RepositoryResource repoRes = new RepositoryResource(); repoRes.setRepoType( "hosted" ); AbstractMavenRepositoryTemplate m2Template = (AbstractMavenRepositoryTemplate) template; repoRes.setRepoPolicy( m2Template.getRepositoryPolicy().name() ); ConfigurableRepository cfg = template.getConfigurableRepository(); repoRes.setWritePolicy( cfg.getWritePolicy().name() ); repoRes.setBrowseable( cfg.isBrowseable() ); repoRes.setIndexable( cfg.isIndexable() ); repoRes.setExposed( cfg.isExposed() ); repoRes.setNotFoundCacheTTL( cfg.getNotFoundCacheTimeToLive() ); return repoRes; } }
@Override public boolean isCompatible( Repository repository ) { if ( super.isCompatible( repository ) && MavenRepository.class.isAssignableFrom( repository.getClass() ) && getRepositoryPolicy().equals( ( (MavenRepository) repository ).getRepositoryPolicy() ) ) { return true; } return false; }
protected String getRepositoryPolicy( Repository repository ) { if ( repository.getRepositoryKind().isFacetAvailable( MavenRepository.class ) ) { return repository.adaptToFacet( MavenRepository.class ).getRepositoryPolicy().toString().toLowerCase(); } else if ( repository.getRepositoryKind().isFacetAvailable( GroupRepository.class ) ) { List<Repository> members = repository.adaptToFacet( GroupRepository.class ).getMemberRepositories(); HashSet<String> memberPolicies = new HashSet<String>(); for ( Repository member : members ) { memberPolicies.add( getRepositoryPolicy( member ) ); } if ( memberPolicies.size() == 1 ) { return memberPolicies.iterator().next(); } else { return RepositoryMetadata.POLICY_MIXED; } } else { return RepositoryMetadata.POLICY_MIXED; } }
private RepositoryBaseResource createHosted(RepositoryTemplate template) { RepositoryResource repoRes = new RepositoryResource(); repoRes.setRepoType("hosted"); AbstractMavenRepositoryTemplate m2Template = (AbstractMavenRepositoryTemplate) template; repoRes.setRepoPolicy(m2Template.getRepositoryPolicy().name()); ConfigurableRepository cfg = template.getConfigurableRepository(); repoRes.setWritePolicy(cfg.getWritePolicy().name()); repoRes.setBrowseable(cfg.isBrowseable()); repoRes.setIndexable(cfg.isIndexable()); repoRes.setExposed(cfg.isExposed()); repoRes.setNotFoundCacheTTL(cfg.getNotFoundCacheTimeToLive()); return repoRes; } }
protected Set<String> getRepoIdsFromParams(Map<String, String> params) { Set<String> result = new HashSet<String>(); Collection<Repository> repos = getRepositoryRegistry().getRepositories(); for (Repository repo : repos) { // huh? release as policy exists for MavenRepository only? if (repo.getRepositoryKind().isFacetAvailable(MavenRepository.class)) { if (RepositoryPolicy.RELEASE.equals(repo.adaptToFacet(MavenRepository.class).getRepositoryPolicy())) { result.add(repo.getId()); } } } return result; } }
.getConfiguration(false) instanceof AbstractMavenRepositoryConfiguration) { repoRes.setRepoPolicy(((AbstractMavenRepositoryConfiguration) template.getCoreConfiguration() .getExternalConfiguration().getConfiguration(false)).getRepositoryPolicy().toString());
public void createMavenHostedRepository( final String id, final RepositoryPolicy repositoryPolicy, final RepositoryWritePolicy repositoryWritePolicy ) throws IOException { final RepositoryResource repository = new RepositoryResource(); repository.setId( id ); repository.setRepoType( "hosted" ); repository.setName( id ); repository.setProvider( "maven2" ); repository.setFormat( "maven2" ); repository.setRepoPolicy( repositoryPolicy.name() ); if ( repositoryWritePolicy != null ) { repository.setWritePolicy( repositoryWritePolicy.name() ); } repository.setChecksumPolicy( ChecksumPolicy.IGNORE.name() ); repository.setBrowseable( true ); repository.setIndexable( true ); repository.setExposed( true ); createRepository( repository ); }
.getExternalConfiguration().getConfiguration( false ) ).getRepositoryPolicy().toString() );
protected void addRepositoryDetails( Request request, SearchNGResponse response, Repository repository ) { boolean add = true; for ( NexusNGRepositoryDetail repoDetail : response.getRepoDetails() ) { if ( repoDetail.getRepositoryId().equals( repository.getId() ) ) { add = false; break; } } if ( add ) { NexusNGRepositoryDetail repoDetail = new NexusNGRepositoryDetail(); repoDetail.setRepositoryId( repository.getId() ); repoDetail.setRepositoryName( repository.getName() ); repoDetail.setRepositoryURL( createRepositoryReference( request, repository.getId() ).getTargetRef().toString() ); repoDetail.setRepositoryContentClass( repository.getRepositoryContentClass().getId() ); repoDetail.setRepositoryKind( extractRepositoryKind( repository ) ); MavenRepository mavenRepo = repository.adaptToFacet( MavenRepository.class ); if ( mavenRepo != null ) { repoDetail.setRepositoryPolicy( mavenRepo.getRepositoryPolicy().name() ); } response.addRepoDetail( repoDetail ); } }
repoRes.setRepoPolicy( repository.adaptToFacet( MavenRepository.class ).getRepositoryPolicy().toString() );