use of org.sonatype.nexus.repository.upload.AssetUpload in project nexus-repository-r by sonatype-nexus-community.
the class RUploadHandlerTest method createComponentUpload.
private ComponentUpload createComponentUpload(final String packagePath, final String packageName) {
when(payload.getName()).thenReturn(packageName);
ComponentUpload component = new ComponentUpload();
AssetUpload asset = new AssetUpload();
asset.setFields(Collections.singletonMap(RUploadHandler.PATH_ID, packagePath));
asset.setPayload(payload);
component.getAssetUploads().add(asset);
return component;
}
use of org.sonatype.nexus.repository.upload.AssetUpload 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();
}
}
Aggregations