@Override public Collection<ProjectVersionReference> resolveProjectReferences( RepositorySession session, String repoId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { // TODO: is this assumption correct? could a storage mech. actually know all references in a non-Maven scenario? // not passed to the storage mechanism as resolving references would require iterating all artifacts MetadataRepository metadataRepository = session.getRepository(); return metadataRepository.getProjectReferences( repoId, namespace, projectId, projectVersion ); }
private List<RepositoryStatistics> getMultipleRepositoriesReport( List<String> repositoriesId, int rowCount ) { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { MetadataRepository metadataRepository = repositorySession.getRepository(); List<RepositoryStatistics> stats = new ArrayList<>(); for ( String repo : repositoriesId ) { try { stats.add( repositoryStatisticsManager.getLastStatistics( metadataRepository, repo ) ); } catch ( MetadataRepositoryException e ) { log.warn( "Unable to retrieve stats, assuming is empty: {}", e.getMessage(), e ); } } return stats.subList( 0, stats.size() > rowCount ? rowCount : stats.size() ); } finally { repositorySession.close(); } }
@Before public void setUp() throws Exception { listenerControl = EasyMock.createControl(); listener = listenerControl.createMock( RepositoryListener.class ); repositorySession = mock( RepositorySession.class ); metadataRepository = mock( MetadataRepository.class ); when( repositorySession.getRepository() ).thenReturn( metadataRepository ); }
@Override public void addArtifact( RepositorySession session, String repoId, String namespace, String projectId, ProjectVersionMetadata metadata ) { // Remove problems associated with this version on successful addition // TODO: this removes all problems - do we need something that just remove the problems we know are corrected? String name = RepositoryProblemFacet.createName( namespace, projectId, metadata.getId(), null ); try { MetadataRepository metadataRepository = session.getRepository(); metadataRepository.removeMetadataFacet( repoId, RepositoryProblemFacet.FACET_ID, name ); session.markDirty(); } catch ( MetadataRepositoryException e ) { log.warn( "Unable to remove repository problem facets for the version being corrected in the repository: {}", e.getMessage(), e ); } }
@Override public void auditEvent( AuditEvent event ) { // for now we only log upload events, some of the others are quite noisy if ( event.getAction().equals( AuditEvent.CREATE_FILE ) || event.getAction().equals( AuditEvent.UPLOAD_FILE ) || event.getAction().equals( AuditEvent.MERGING_REPOSITORIES ) ) { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { auditManager.addAuditEvent( repositorySession.getRepository(), event ); repositorySession.save(); } catch ( MetadataRepositoryException e ) { log.warn( "Unable to write audit event to repository: {}", e.getMessage(), e ); } finally { repositorySession.close(); } } } }
@Override public List<Artifact> getArtifacts( String repositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().getArtifacts( repositoryId ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getArtifactsByProjectVersionMetadata( String key, String value, String repositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().getArtifactsByProjectVersionMetadata( key, value, repositoryId ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getArtifactsByProjectVersionMetadata( String key, String value, String repositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().getArtifactsByProjectVersionMetadata( key, value, repositoryId ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getArtifacts( String repositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().getArtifacts( repositoryId ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getArtifactsByMetadata( String key, String value, String repositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().getArtifactsByMetadata( key, value, repositoryId ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getArtifactsByProperty( String key, String value, String repositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().getArtifactsByProperty( key, value, repositoryId ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getMergeConflictedArtifacts( String sourceRepositoryId, String targetRepositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositoryMerger.getConflictingArtifacts( repositorySession.getRepository(), sourceRepositoryId, targetRepositoryId ); return buildArtifacts( artifactMetadatas, sourceRepositoryId ); } catch ( RepositoryMergerException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> searchArtifacts( String text, String repositoryId, Boolean exact ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().searchArtifacts( text, repositoryId, exact == null ? false : exact ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getArtifactsByMetadata( String key, String value, String repositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().getArtifactsByMetadata( key, value, repositoryId ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getArtifactsByProperty( String key, String value, String repositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().getArtifactsByProperty( key, value, repositoryId ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> searchArtifacts( String text, String repositoryId, Boolean exact ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().searchArtifacts( text, repositoryId, exact == null ? false : exact ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> searchArtifacts( String key, String text, String repositoryId, Boolean exact ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().searchArtifacts( key, text, repositoryId, exact == null ? false : exact ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> searchArtifacts( String key, String text, String repositoryId, Boolean exact ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositorySession.getRepository().searchArtifacts( key, text, repositoryId, exact == null ? false : exact ); return buildArtifacts( artifactMetadatas, repositoryId ); } catch ( MetadataRepositoryException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public List<Artifact> getMergeConflictedArtifacts( String sourceRepositoryId, String targetRepositoryId ) throws ArchivaRestServiceException { RepositorySession repositorySession = repositorySessionFactory.createSession(); try { List<ArtifactMetadata> artifactMetadatas = repositoryMerger.getConflictingArtifacts( repositorySession.getRepository(), sourceRepositoryId, targetRepositoryId ); return buildArtifacts( artifactMetadatas, sourceRepositoryId ); } catch ( RepositoryMergerException e ) { throw new ArchivaRestServiceException( e.getMessage(), e ); } finally { repositorySession.close(); } }
@Override public void addArtifactProblem( RepositorySession session, String repoId, String namespace, String projectId, String projectVersion, RepositoryStorageMetadataException exception ) { RepositoryProblemFacet problem = new RepositoryProblemFacet(); problem.setMessage( exception.getMessage() ); problem.setProject( projectId ); problem.setNamespace( namespace ); problem.setRepositoryId( repoId ); problem.setVersion( projectVersion ); problem.setProblem( exception.getId() ); try { session.getRepository().addMetadataFacet( repoId, problem ); session.markDirty(); } catch ( MetadataRepositoryException e ) { log.warn( "Unable to add repository problem facets for the version being removed: {}", e.getMessage(), e ); } }