public void onPartCreate()

in src/main/java/software/amazon/encryption/s3/internal/UploadObjectObserver.java [62:91]


    public void onPartCreate(PartCreationEvent event) {
        final File part = event.getPart();
        final UploadPartRequest reqUploadPart =
                newUploadPartRequest(event);
        final OnFileDelete fileDeleteObserver = event.getFileDeleteObserver();
        futures.add(es.submit(new Callable<Map<Integer, UploadPartResponse>>() {
            @Override
            public Map<Integer, UploadPartResponse> call() {
                // Upload the ciphertext directly via the non-encrypting
                // s3 client
                try {
                    AsyncRequestBody noRetriesBody = new NoRetriesAsyncRequestBody(AsyncRequestBody.fromFile(part));
                    return uploadPart(reqUploadPart, noRetriesBody);
                } catch (CompletionException e) {
                    // Unwrap completion exception
                    throw new S3EncryptionClientException(e.getCause().getMessage(), e.getCause());
                } finally {
                    // clean up part already uploaded
                    if (!part.delete()) {
                        LogFactory.getLog(getClass()).debug(
                                "Ignoring failure to delete file " + part
                                        + " which has already been uploaded");
                    } else {
                        if (fileDeleteObserver != null)
                            fileDeleteObserver.onFileDelete(null);
                    }
                }
            }
        }));
    }