Search in sources :

Example 6 with Version

use of org.apache.archiva.repository.content.Version in project archiva by apache.

the class ManagedDefaultRepositoryContentTest method testGetItemWithVersionSelector.

@Test
public void testGetItemWithVersionSelector() {
    ItemSelector selector = ArchivaItemSelector.builder().withNamespace("org.apache.maven").withProjectId("samplejar").withVersion("2.0").build();
    ContentItem item = repoContent.getItem(selector);
    assertNotNull(item);
    assertTrue(item instanceof Version);
}
Also used : ArchivaItemSelector(org.apache.archiva.repository.content.base.ArchivaItemSelector) ItemSelector(org.apache.archiva.repository.content.ItemSelector) Version(org.apache.archiva.repository.content.Version) ContentItem(org.apache.archiva.repository.content.ContentItem) ArchivaContentItem(org.apache.archiva.repository.content.base.ArchivaContentItem) Test(org.junit.Test)

Example 7 with Version

use of org.apache.archiva.repository.content.Version in project archiva by apache.

the class ManagedDefaultRepositoryContentTest method testGetArtifactFromContentItem.

@Test
public void testGetArtifactFromContentItem() {
    ItemSelector selector = ArchivaItemSelector.builder().withNamespace("org.apache.maven").build();
    Namespace ns = repoContent.getNamespace(selector);
    List<? extends Artifact> artifacts = repoContent.getArtifacts(ns);
    assertNotNull(artifacts);
    assertEquals(39, artifacts.size());
    List<? extends Artifact> artifacts2 = repoContent.getArtifacts((ContentItem) ns);
    assertArrayEquals(artifacts.toArray(), artifacts2.toArray());
    selector = ArchivaItemSelector.builder().withNamespace("org.apache.maven.shared").withProjectId("maven-downloader").build();
    Project project = repoContent.getProject(selector);
    artifacts = repoContent.getArtifacts(project);
    assertNotNull(artifacts);
    assertEquals(27, artifacts.size());
    artifacts2 = repoContent.getArtifacts((ContentItem) project);
    assertArrayEquals(artifacts.toArray(), artifacts2.toArray());
    selector = ArchivaItemSelector.builder().withNamespace("org.apache.maven.shared").withProjectId("maven-downloader").withVersion("1.1").build();
    Version version = repoContent.getVersion(selector);
    artifacts = repoContent.getArtifacts(version);
    assertNotNull(artifacts);
    assertEquals(12, artifacts.size());
    artifacts2 = repoContent.getArtifacts((ContentItem) version);
    assertArrayEquals(artifacts.toArray(), artifacts2.toArray());
}
Also used : Project(org.apache.archiva.repository.content.Project) ArchivaItemSelector(org.apache.archiva.repository.content.base.ArchivaItemSelector) ItemSelector(org.apache.archiva.repository.content.ItemSelector) Version(org.apache.archiva.repository.content.Version) Namespace(org.apache.archiva.repository.content.Namespace) ContentItem(org.apache.archiva.repository.content.ContentItem) ArchivaContentItem(org.apache.archiva.repository.content.base.ArchivaContentItem) Test(org.junit.Test)

Example 8 with Version

use of org.apache.archiva.repository.content.Version in project archiva by apache.

the class AbstractRepositoryContentTest method assertLayoutCi.

private void assertLayoutCi(String path, String groupId, String artifactId, String version, String artifactVersion, String classifier, String type) throws LayoutException {
    ItemSelector expectedArtifact = createItemSelector(groupId, artifactId, version, artifactVersion, classifier, type);
    // --- Artifact Tests.
    // Artifact to Path
    assertEquals("Artifact <" + expectedArtifact + "> to path:", path, toPath(expectedArtifact));
    // --- Artifact Reference Tests
    // Path to Artifact Reference.
    ItemSelector testReference = toItemSelector(path);
    assertItemSelector(testReference, groupId, artifactId, version, artifactVersion, classifier, type);
    // And back again, using test Reference from previous step.
    assertEquals("Artifact <" + expectedArtifact + "> to path:", path, toPath(testReference));
    if (getManaged() != null) {
        Namespace ns = null;
        Project pr = null;
        Version ver = null;
        if (StringUtils.isNotEmpty(groupId)) {
            ns = getManaged().getLayout(BaseRepositoryContentLayout.class).getNamespace(expectedArtifact);
            assertNotNull(ns);
            assertEquals(groupId, ns.getId());
        }
        if (StringUtils.isNotEmpty(artifactId)) {
            pr = getManaged().getLayout(BaseRepositoryContentLayout.class).getProject(expectedArtifact);
            assertNotNull(pr);
            assertEquals(artifactId, pr.getId());
            assertEquals(ns, pr.getNamespace());
        }
        if (StringUtils.isNotEmpty(version)) {
            ver = getManaged().getLayout(BaseRepositoryContentLayout.class).getVersion(expectedArtifact);
            assertNotNull(ver);
            assertEquals(version, ver.getId());
            assertEquals(pr, ver.getProject());
        }
        Artifact artifact = getManaged().getLayout(BaseRepositoryContentLayout.class).getArtifact(expectedArtifact);
        assertNotNull(artifact);
        assertEquals(artifactId, artifact.getId());
        assertEquals(ver, artifact.getVersion());
    }
}
Also used : Project(org.apache.archiva.repository.content.Project) ArchivaItemSelector(org.apache.archiva.repository.content.base.ArchivaItemSelector) ItemSelector(org.apache.archiva.repository.content.ItemSelector) Version(org.apache.archiva.repository.content.Version) BaseRepositoryContentLayout(org.apache.archiva.repository.content.BaseRepositoryContentLayout) Namespace(org.apache.archiva.repository.content.Namespace) Artifact(org.apache.archiva.repository.content.Artifact)

Example 9 with Version

use of org.apache.archiva.repository.content.Version in project archiva by apache.

the class ManagedDefaultRepositoryContent method createArtifact.

public Artifact createArtifact(final StorageAsset artifactPath, final ItemSelector selector, final String classifier) {
    Version version = getVersion(selector);
    ArtifactOptBuilder builder = org.apache.archiva.repository.content.base.ArchivaArtifact.withAsset(artifactPath).withVersion(version).withId(selector.getArtifactId()).withArtifactVersion(mavenContentHelper.getArtifactVersion(artifactPath, selector)).withClassifier(classifier);
    if (selector.hasType()) {
        builder.withType(selector.getType());
    }
    return builder.build();
}
Also used : Version(org.apache.archiva.repository.content.Version) ArchivaVersion(org.apache.archiva.repository.content.base.ArchivaVersion) ArtifactOptBuilder(org.apache.archiva.repository.content.base.builder.ArtifactOptBuilder)

Example 10 with Version

use of org.apache.archiva.repository.content.Version in project archiva by apache.

the class ManagedDefaultRepositoryContent method newArtifactStream.

/**
 * Returns all related artifacts that match the given artifact. That means all artifacts that have
 * the same filename plus an additional extension, e.g. ${fileName}.sha2
 *
 * @param item the artifact
 * @return the stream of artifacts
 * @throws ContentAccessException if access to the underlying storage failed
 */
public Stream<? extends Artifact> newArtifactStream(Artifact item) throws ContentAccessException {
    final Version v = item.getVersion();
    final String fileName = item.getFileName();
    final Predicate<StorageAsset> filter = (StorageAsset a) -> a.getName().startsWith(fileName + ".");
    return v.getAsset().list().stream().filter(filter).map(a -> {
        try {
            return getArtifactFromPath(a);
        } catch (LayoutException e) {
            log.error("Not a valid artifact path " + a.getPath(), e);
            return null;
        }
    }).filter(Objects::nonNull);
}
Also used : Arrays(java.util.Arrays) ArchivaNamespace(org.apache.archiva.repository.content.base.ArchivaNamespace) StorageAsset(org.apache.archiva.repository.storage.StorageAsset) Namespace(org.apache.archiva.repository.content.Namespace) StringUtils(org.apache.commons.lang3.StringUtils) LayoutRuntimeException(org.apache.archiva.repository.content.LayoutRuntimeException) Matcher(java.util.regex.Matcher) FileUtils(org.apache.archiva.common.utils.FileUtils) MavenMetadataReader(org.apache.archiva.maven.metadata.MavenMetadataReader) ItemSelector(org.apache.archiva.repository.content.ItemSelector) Path(java.nio.file.Path) ContentItem(org.apache.archiva.repository.content.ContentItem) RepositoryStorage(org.apache.archiva.repository.storage.RepositoryStorage) FileTypes(org.apache.archiva.configuration.provider.FileTypes) ArtifactOptBuilder(org.apache.archiva.repository.content.base.builder.ArtifactOptBuilder) ArchivaContentItem(org.apache.archiva.repository.content.base.ArchivaContentItem) Predicate(java.util.function.Predicate) BaseArtifactTypes(org.apache.archiva.repository.content.BaseArtifactTypes) Collectors(java.util.stream.Collectors) ManagedRepository(org.apache.archiva.repository.ManagedRepository) Objects(java.util.Objects) List(java.util.List) Stream(java.util.stream.Stream) Optional(java.util.Optional) BaseRepositoryContentLayout(org.apache.archiva.repository.content.BaseRepositoryContentLayout) Pattern(java.util.regex.Pattern) EditableManagedRepository(org.apache.archiva.repository.EditableManagedRepository) Artifact(org.apache.archiva.repository.content.Artifact) ItemDeleteStatus(org.apache.archiva.repository.ItemDeleteStatus) ArchivaProject(org.apache.archiva.repository.content.base.ArchivaProject) ArchivaItemSelector(org.apache.archiva.repository.content.base.ArchivaItemSelector) Version(org.apache.archiva.repository.content.Version) ReferenceMap(org.apache.commons.collections4.map.ReferenceMap) Inject(javax.inject.Inject) Named(javax.inject.Named) ManagedRepositoryContent(org.apache.archiva.repository.ManagedRepositoryContent) ContentAccessException(org.apache.archiva.repository.content.ContentAccessException) Project(org.apache.archiva.repository.content.Project) Files(java.nio.file.Files) FileLockManager(org.apache.archiva.common.filelock.FileLockManager) VersionUtil(org.apache.archiva.common.utils.VersionUtil) ManagedRepositoryContentLayout(org.apache.archiva.repository.content.ManagedRepositoryContentLayout) IOException(java.io.IOException) DataItem(org.apache.archiva.repository.content.DataItem) Consumer(java.util.function.Consumer) StorageUtil(org.apache.archiva.repository.storage.util.StorageUtil) ArchivaVersion(org.apache.archiva.repository.content.base.ArchivaVersion) LayoutException(org.apache.archiva.repository.content.LayoutException) Collections(java.util.Collections) ItemNotFoundException(org.apache.archiva.repository.content.ItemNotFoundException) Version(org.apache.archiva.repository.content.Version) ArchivaVersion(org.apache.archiva.repository.content.base.ArchivaVersion) LayoutException(org.apache.archiva.repository.content.LayoutException) StorageAsset(org.apache.archiva.repository.storage.StorageAsset) Objects(java.util.Objects)

Aggregations

Version (org.apache.archiva.repository.content.Version)18 ArchivaItemSelector (org.apache.archiva.repository.content.base.ArchivaItemSelector)13 BaseRepositoryContentLayout (org.apache.archiva.repository.content.BaseRepositoryContentLayout)9 ContentItem (org.apache.archiva.repository.content.ContentItem)9 LayoutException (org.apache.archiva.repository.content.LayoutException)8 Project (org.apache.archiva.repository.content.Project)8 Path (java.nio.file.Path)7 ManagedRepositoryContent (org.apache.archiva.repository.ManagedRepositoryContent)7 Artifact (org.apache.archiva.repository.content.Artifact)7 ItemNotFoundException (org.apache.archiva.repository.content.ItemNotFoundException)7 ItemSelector (org.apache.archiva.repository.content.ItemSelector)7 Namespace (org.apache.archiva.repository.content.Namespace)7 ArchivaContentItem (org.apache.archiva.repository.content.base.ArchivaContentItem)7 StorageAsset (org.apache.archiva.repository.storage.StorageAsset)7 Test (org.junit.Test)7 ManagedRepository (org.apache.archiva.repository.ManagedRepository)6 DataItem (org.apache.archiva.repository.content.DataItem)6 EditableManagedRepository (org.apache.archiva.repository.EditableManagedRepository)5 ArchivaVersion (org.apache.archiva.repository.content.base.ArchivaVersion)5 IOException (java.io.IOException)3