Search in sources :

Example 6 with Repository

use of org.apache.archiva.repository.Repository in project archiva by apache.

the class MavenRepositoryProvider method getRepositoryGroupConfiguration.

@Override
public RepositoryGroupConfiguration getRepositoryGroupConfiguration(RepositoryGroup repositoryGroup) throws RepositoryException {
    if (repositoryGroup.getType() != RepositoryType.MAVEN) {
        throw new RepositoryException("The given repository group is not of MAVEN type");
    }
    RepositoryGroupConfiguration cfg = new RepositoryGroupConfiguration();
    cfg.setId(repositoryGroup.getId());
    cfg.setName(repositoryGroup.getName());
    if (repositoryGroup.supportsFeature(IndexCreationFeature.class)) {
        IndexCreationFeature indexCreationFeature = repositoryGroup.getFeature(IndexCreationFeature.class);
        cfg.setMergedIndexPath(indexCreationFeature.getIndexPath().toString());
    }
    cfg.setMergedIndexTtl(repositoryGroup.getMergedIndexTTL());
    cfg.setRepositories(repositoryGroup.getRepositories().stream().map(Repository::getId).collect(Collectors.toList()));
    cfg.setCronExpression(repositoryGroup.getSchedulingDefinition());
    return cfg;
}
Also used : RepositoryGroupConfiguration(org.apache.archiva.configuration.model.RepositoryGroupConfiguration) IndexCreationFeature(org.apache.archiva.repository.features.IndexCreationFeature) ManagedRepository(org.apache.archiva.repository.ManagedRepository) EditableManagedRepository(org.apache.archiva.repository.EditableManagedRepository) EditableRepository(org.apache.archiva.repository.EditableRepository) BasicManagedRepository(org.apache.archiva.repository.base.managed.BasicManagedRepository) Repository(org.apache.archiva.repository.Repository) RemoteRepository(org.apache.archiva.repository.RemoteRepository) EditableRemoteRepository(org.apache.archiva.repository.EditableRemoteRepository) RepositoryException(org.apache.archiva.repository.RepositoryException)

Example 7 with Repository

use of org.apache.archiva.repository.Repository in project archiva by apache.

the class ArchivaIndexManagerMock method reset.

@Override
public ArchivaIndexingContext reset(ArchivaIndexingContext context) throws IndexUpdateFailedException {
    ArchivaIndexingContext ctx;
    executeUpdateFunction(context, indexingContext -> {
        try {
            indexingContext.close(true);
        } catch (IOException e) {
            log.warn("Index close failed");
        }
        org.apache.archiva.repository.storage.util.StorageUtil.deleteRecursively(context.getPath());
    });
    try {
        Repository repo = context.getRepository();
        ctx = createContext(context.getRepository());
        if (repo instanceof EditableRepository) {
            ((EditableRepository) repo).setIndexingContext(ctx);
        }
    } catch (IndexCreationFailedException e) {
        throw new IndexUpdateFailedException("Could not create index");
    }
    return ctx;
}
Also used : ManagedRepository(org.apache.archiva.repository.ManagedRepository) EditableRepository(org.apache.archiva.repository.EditableRepository) Repository(org.apache.archiva.repository.Repository) RemoteRepository(org.apache.archiva.repository.RemoteRepository) IndexCreationFailedException(org.apache.archiva.indexer.IndexCreationFailedException) IOException(java.io.IOException) IndexUpdateFailedException(org.apache.archiva.indexer.IndexUpdateFailedException) ArchivaIndexingContext(org.apache.archiva.indexer.ArchivaIndexingContext) EditableRepository(org.apache.archiva.repository.EditableRepository)

Example 8 with Repository

use of org.apache.archiva.repository.Repository in project archiva by apache.

the class ArchivaRepositoryRegistryTest method getRepository.

@Test
public void getRepository() throws Exception {
    Repository repo = repositoryRegistry.getRepository("internal");
    assertNotNull(repo);
    assertEquals("internal", repo.getId());
    assertEquals("Archiva Managed Internal Repository", repo.getName());
    assertEquals("This is internal repository.", repo.getDescription());
    assertEquals("default", repo.getLayout());
    assertEquals("0 0 * * * ?", repo.getSchedulingDefinition());
    assertTrue(repo instanceof ManagedRepository);
    assertTrue(repo.hasIndex());
    assertTrue(repo.isScanned());
    assertEquals(RepositoryType.MAVEN, repo.getType());
}
Also used : Repository(org.apache.archiva.repository.Repository) RemoteRepository(org.apache.archiva.repository.RemoteRepository) ManagedRepository(org.apache.archiva.repository.ManagedRepository) BasicRemoteRepository(org.apache.archiva.repository.base.remote.BasicRemoteRepository) BasicManagedRepository(org.apache.archiva.repository.base.managed.BasicManagedRepository) ManagedRepository(org.apache.archiva.repository.ManagedRepository) BasicManagedRepository(org.apache.archiva.repository.base.managed.BasicManagedRepository) Test(org.junit.jupiter.api.Test)

Example 9 with Repository

use of org.apache.archiva.repository.Repository in project archiva by apache.

the class DefaultFileUploadService method save.

@Override
public Boolean save(String repositoryId, String groupId, String artifactId, String version, String packaging, boolean generatePom) throws ArchivaRestServiceException {
    repositoryId = StringUtils.trim(repositoryId);
    groupId = StringUtils.trim(groupId);
    artifactId = StringUtils.trim(artifactId);
    version = StringUtils.trim(version);
    packaging = StringUtils.trim(packaging);
    checkParamChars("repositoryId", repositoryId);
    checkParamChars("groupId", groupId);
    checkParamChars("artifactId", artifactId);
    checkParamChars("version", version);
    checkParamChars("packaging", packaging);
    List<FileMetadata> fileMetadatas = getSessionFilesList();
    if (fileMetadatas == null || fileMetadatas.isEmpty()) {
        return Boolean.FALSE;
    }
    org.apache.archiva.repository.ManagedRepository repository = repositoryRegistry.getManagedRepository(repositoryId);
    if (repository == null) {
        // TODO i18n ?
        throw new ArchivaRestServiceException("Cannot find managed repository with id " + repositoryId, Response.Status.BAD_REQUEST.getStatusCode(), null);
    }
    if (VersionUtil.isSnapshot(version) && !repository.getActiveReleaseSchemes().contains(ReleaseScheme.SNAPSHOT)) {
        // TODO i18n ?
        throw new ArchivaRestServiceException("Managed repository with id " + repositoryId + " do not accept snapshots", Response.Status.BAD_REQUEST.getStatusCode(), null);
    }
    // get from the session file with groupId/artifactId
    Iterator<FileMetadata> iterator = fileMetadatas.stream().filter(fileMetadata -> fileMetadata != null && !fileMetadata.isPomFile()).iterator();
    boolean pomGenerated = false;
    while (iterator.hasNext()) {
        FileMetadata fileMetadata = iterator.next();
        log.debug("fileToAdd: {}", fileMetadata);
        saveFile(repositoryId, fileMetadata, generatePom && !pomGenerated, groupId, artifactId, version, packaging);
        pomGenerated = true;
        deleteFile(fileMetadata.getServerFileName());
    }
    iterator = fileMetadatas.stream().filter(fileMetadata -> fileMetadata != null && fileMetadata.isPomFile()).iterator();
    while (iterator.hasNext()) {
        FileMetadata fileMetadata = iterator.next();
        log.debug("fileToAdd: {}", fileMetadata);
        savePomFile(repositoryId, fileMetadata, groupId, artifactId, version, packaging);
        deleteFile(fileMetadata.getServerFileName());
    }
    return Boolean.TRUE;
}
Also used : URLDecoder(java.net.URLDecoder) ArchivaRepositoryMetadata(org.apache.archiva.model.ArchivaRepositoryMetadata) Date(java.util.Date) StorageAsset(org.apache.archiva.repository.storage.StorageAsset) LoggerFactory(org.slf4j.LoggerFactory) ArchivaRestServiceException(org.apache.archiva.rest.api.services.ArchivaRestServiceException) StringUtils(org.apache.commons.lang3.StringUtils) FileMetadata(org.apache.archiva.web.model.FileMetadata) ReleaseScheme(org.apache.archiva.repository.ReleaseScheme) ItemSelector(org.apache.archiva.repository.content.ItemSelector) Path(java.nio.file.Path) DateFormat(java.text.DateFormat) HttpSession(javax.servlet.http.HttpSession) Context(javax.ws.rs.core.Context) RepositoryAdminException(org.apache.archiva.admin.model.RepositoryAdminException) TimeZone(java.util.TimeZone) RepositoryException(org.apache.archiva.repository.RepositoryException) RepositoryRegistry(org.apache.archiva.repository.RepositoryRegistry) ChecksumUtil(org.apache.archiva.checksum.ChecksumUtil) AbstractRestService(org.apache.archiva.rest.services.AbstractRestService) IOUtils(org.apache.commons.io.IOUtils) MavenXpp3Writer(org.apache.maven.model.io.xpp3.MavenXpp3Writer) List(java.util.List) Response(javax.ws.rs.core.Response) PostConstruct(javax.annotation.PostConstruct) Writer(java.io.Writer) FilenameUtils(org.apache.commons.io.FilenameUtils) Model(org.apache.maven.model.Model) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList) ArchivaConfiguration(org.apache.archiva.configuration.provider.ArchivaConfiguration) Attachment(org.apache.cxf.jaxrs.ext.multipart.Attachment) ArchivaItemSelector(org.apache.archiva.repository.content.base.ArchivaItemSelector) SimpleDateFormat(java.text.SimpleDateFormat) BooleanUtils(org.apache.commons.lang3.BooleanUtils) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) MetadataTools(org.apache.archiva.repository.metadata.base.MetadataTools) Repository(org.apache.archiva.repository.Repository) HttpServletRequest(javax.servlet.http.HttpServletRequest) Calendar(java.util.Calendar) Service(org.springframework.stereotype.Service) ChecksumAlgorithm(org.apache.archiva.checksum.ChecksumAlgorithm) OutputStreamWriter(java.io.OutputStreamWriter) RepositoryMetadataException(org.apache.archiva.repository.metadata.RepositoryMetadataException) Named(javax.inject.Named) VersionComparator(org.apache.archiva.common.utils.VersionComparator) ArchivaTaskScheduler(org.apache.archiva.scheduler.ArchivaTaskScheduler) ArchivaAdministration(org.apache.archiva.admin.model.admin.ArchivaAdministration) SnapshotVersion(org.apache.archiva.model.SnapshotVersion) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) Files(java.nio.file.Files) SystemUtils(org.apache.commons.lang3.SystemUtils) FileOutputStream(java.io.FileOutputStream) VersionUtil(org.apache.archiva.common.utils.VersionUtil) IOException(java.io.IOException) RepositoryTask(org.apache.archiva.scheduler.repository.model.RepositoryTask) RepositoryType(org.apache.archiva.repository.RepositoryType) ChecksummedFile(org.apache.archiva.checksum.ChecksummedFile) RepositoryMetadataWriter(org.apache.archiva.repository.metadata.base.RepositoryMetadataWriter) AuditEvent(org.apache.archiva.metadata.model.facets.AuditEvent) MultipartBody(org.apache.cxf.jaxrs.ext.multipart.MultipartBody) TaskQueueException(org.apache.archiva.components.taskqueue.TaskQueueException) Paths(java.nio.file.Paths) MetadataReader(org.apache.archiva.repository.metadata.MetadataReader) Collections(java.util.Collections) FileSystems(java.nio.file.FileSystems) ArchivaRestServiceException(org.apache.archiva.rest.api.services.ArchivaRestServiceException) FileMetadata(org.apache.archiva.web.model.FileMetadata)

Example 10 with Repository

use of org.apache.archiva.repository.Repository in project archiva by apache.

the class DefaultFileUploadService method getMetadata.

private ArchivaRepositoryMetadata getMetadata(StorageAsset metadataFile) throws RepositoryMetadataException {
    ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
    if (metadataFile.exists()) {
        Repository repo = repositoryRegistry.getRepositoryOfAsset(metadataFile);
        RepositoryType type = repo == null ? RepositoryType.MAVEN : repo.getType();
        MetadataReader metadataReader = repositoryRegistry.getMetadataReader(type);
        metadata = metadataReader.read(metadataFile);
    }
    return metadata;
}
Also used : Repository(org.apache.archiva.repository.Repository) RepositoryType(org.apache.archiva.repository.RepositoryType) MetadataReader(org.apache.archiva.repository.metadata.MetadataReader) ArchivaRepositoryMetadata(org.apache.archiva.model.ArchivaRepositoryMetadata)

Aggregations

Repository (org.apache.archiva.repository.Repository)25 RemoteRepository (org.apache.archiva.repository.RemoteRepository)15 ManagedRepository (org.apache.archiva.repository.ManagedRepository)12 IOException (java.io.IOException)10 ArchivaIndexingContext (org.apache.archiva.indexer.ArchivaIndexingContext)9 IndexCreationFailedException (org.apache.archiva.indexer.IndexCreationFailedException)8 EditableRepository (org.apache.archiva.repository.EditableRepository)8 IndexUpdateFailedException (org.apache.archiva.indexer.IndexUpdateFailedException)7 Path (java.nio.file.Path)5 ArrayList (java.util.ArrayList)5 UnsupportedBaseContextException (org.apache.archiva.indexer.UnsupportedBaseContextException)5 BasicManagedRepository (org.apache.archiva.repository.base.managed.BasicManagedRepository)5 IndexCreationFeature (org.apache.archiva.repository.features.IndexCreationFeature)5 IndexingContext (org.apache.maven.index.context.IndexingContext)5 List (java.util.List)4 Inject (javax.inject.Inject)4 ArchivaConfiguration (org.apache.archiva.configuration.provider.ArchivaConfiguration)4 RepositoryException (org.apache.archiva.repository.RepositoryException)4 RepositoryType (org.apache.archiva.repository.RepositoryType)4 Files (java.nio.file.Files)3