Search in sources :

Example 1 with UploadResponse

use of org.sonatype.nexus.repository.upload.UploadResponse in project nexus-repository-r by sonatype-nexus-community.

the class RUploadHandlerTest method testHandle.

@Test
public void testHandle() throws IOException {
    ComponentUpload component = createComponentUpload(PACKAGE_PATH, PACKAGE_NAME);
    UploadResponse uploadResponse = underTest.handle(repository, component);
    assertThat(uploadResponse.getAssetPaths(), contains(PACKAGE_PATH_FULL));
    assertThat(uploadResponse.getComponentId().getValue(), is(NU_ID));
    verify(contentPermissionChecker).isPermitted(eq(REPO_NAME), eq(RFormat.NAME), eq(BreadActions.EDIT), captor.capture());
    VariableSource source = captor.getValue();
    assertThat(source.get("format"), is(Optional.of(RFormat.NAME)));
    assertThat(source.get("path"), is(Optional.of(PACKAGE_PATH_FULL)));
}
Also used : ComponentUpload(org.sonatype.nexus.repository.upload.ComponentUpload) UploadResponse(org.sonatype.nexus.repository.upload.UploadResponse) VariableSource(org.sonatype.nexus.selector.VariableSource) Test(org.junit.Test)

Example 2 with UploadResponse

use of org.sonatype.nexus.repository.upload.UploadResponse in project nexus-repository-r by sonatype-nexus-community.

the class RUploadHandler method handle.

@Override
public UploadResponse handle(final Repository repository, final ComponentUpload upload) throws IOException {
    final AssetUpload assetUpload = upload.getAssetUploads().get(0);
    final PartPayload payload = assetUpload.getPayload();
    final Map<String, String> fields = assetUpload.getFields();
    final String uploadPath = removeInitialSlashFromPath(fields.get(PATH_ID));
    final String assetPath = buildPath(uploadPath, payload.getName());
    ensurePermitted(repository.getName(), RFormat.NAME, assetPath, Collections.emptyMap());
    validateArchiveUploadPath(assetPath);
    try {
        UnitOfWork.begin(repository.facet(StorageFacet.class).txSupplier());
        Asset asset = repository.facet(RHostedFacet.class).upload(assetPath, payload);
        return new UploadResponse(asset);
    } finally {
        UnitOfWork.end();
    }
}
Also used : UploadResponse(org.sonatype.nexus.repository.upload.UploadResponse) RHostedFacet(org.sonatype.nexus.repository.r.RHostedFacet) Asset(org.sonatype.nexus.repository.storage.Asset) PartPayload(org.sonatype.nexus.repository.view.PartPayload) AssetUpload(org.sonatype.nexus.repository.upload.AssetUpload)

Aggregations

UploadResponse (org.sonatype.nexus.repository.upload.UploadResponse)2 Test (org.junit.Test)1 RHostedFacet (org.sonatype.nexus.repository.r.RHostedFacet)1 Asset (org.sonatype.nexus.repository.storage.Asset)1 AssetUpload (org.sonatype.nexus.repository.upload.AssetUpload)1 ComponentUpload (org.sonatype.nexus.repository.upload.ComponentUpload)1 PartPayload (org.sonatype.nexus.repository.view.PartPayload)1 VariableSource (org.sonatype.nexus.selector.VariableSource)1