Skip to content

Commit 156b6c5

Browse files
committed
- renames large file upload to match specification
1 parent df86d48 commit 156b6c5

File tree

7 files changed

+39
-39
lines changed

7 files changed

+39
-39
lines changed

spotBugsExcludeFilter.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ xsi:schemaLocation="https://github.com/spotbugs/filter/3.0.0 https://raw.githubu
99
<Bug code="NP" />
1010
</Match>
1111
<Match>
12-
<Class name="com.microsoft.graph.concurrency.ChunkedUploadRequest" />
12+
<Class name="com.microsoft.graph.tasks.LargeFileUploadRequest" />
1313
<Bug code="Dm" />
1414
</Match>
1515
<Match>
16-
<Class name="com.microsoft.graph.concurrency.ChunkedUploadResponseHandler" />
16+
<Class name="com.microsoft.graph.tasks.LargeFileUploadResponseHandler" />
1717
<Method name="generateResult" />
1818
<Bug code="RCN,NP" />
1919
</Match>

src/main/java/com/microsoft/graph/concurrency/IProgressCallback.java renamed to src/main/java/com/microsoft/graph/tasks/IProgressCallback.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// THE SOFTWARE.
2121
// ------------------------------------------------------------------------------
2222

23-
package com.microsoft.graph.concurrency;
23+
package com.microsoft.graph.tasks;
2424

2525
/**
2626
* A callback that describes how to deal with success, failure, and progress

src/main/java/com/microsoft/graph/concurrency/IUploadSession.java renamed to src/main/java/com/microsoft/graph/tasks/IUploadSession.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// THE SOFTWARE.
2121
// ------------------------------------------------------------------------------
2222

23-
package com.microsoft.graph.concurrency;
23+
package com.microsoft.graph.tasks;
2424

2525
import java.util.List;
2626

src/main/java/com/microsoft/graph/concurrency/ChunkedUploadRequest.java renamed to src/main/java/com/microsoft/graph/tasks/LargeFileUploadRequest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
33
// ------------------------------------------------------------------------------
44

5-
package com.microsoft.graph.concurrency;
5+
package com.microsoft.graph.tasks;
66

77
import java.util.List;
88
import java.util.Locale;
@@ -21,7 +21,7 @@
2121
* The chunk upload request.
2222
* @param <UploadType> The upload item type.
2323
*/
24-
public class ChunkedUploadRequest<UploadType> {
24+
public class LargeFileUploadRequest<UploadType> {
2525

2626
/**
2727
* Content Range header name.
@@ -41,7 +41,7 @@ public class ChunkedUploadRequest<UploadType> {
4141
/**
4242
* The base request.
4343
*/
44-
private final BaseRequest<ChunkedUploadResult<UploadType>> baseRequest;
44+
private final BaseRequest<LargeFileUploadResult<UploadType>> baseRequest;
4545

4646
/**
4747
* Construct the ChunkedUploadRequest
@@ -55,7 +55,7 @@ public class ChunkedUploadRequest<UploadType> {
5555
* @param totalLength The total length of the input stream.
5656
*/
5757
@SuppressWarnings("unchecked")
58-
protected ChunkedUploadRequest(@Nonnull final String requestUrl,
58+
protected LargeFileUploadRequest(@Nonnull final String requestUrl,
5959
@Nonnull final IBaseClient<?> client,
6060
@Nullable final List<? extends Option> options,
6161
@Nonnull final byte[] chunk,
@@ -67,7 +67,7 @@ protected ChunkedUploadRequest(@Nonnull final String requestUrl,
6767
Objects.requireNonNull(chunk, "parameter chunk cannot be null");
6868
this.data = new byte[chunkSize];
6969
System.arraycopy(chunk, 0, this.data, 0, chunkSize);
70-
this.baseRequest = new BaseRequest<ChunkedUploadResult<UploadType>>(requestUrl, client, options, (Class<? extends ChunkedUploadResult<UploadType>>)(new ChunkedUploadResult<>((UploadType)null)).getClass()) {
70+
this.baseRequest = new BaseRequest<LargeFileUploadResult<UploadType>>(requestUrl, client, options, (Class<? extends LargeFileUploadResult<UploadType>>)(new LargeFileUploadResult<>((UploadType)null)).getClass()) {
7171
};
7272
this.baseRequest.setHttpMethod(HttpMethod.PUT);
7373
this.baseRequest.addHeader(CONTENT_RANGE_HEADER_NAME,
@@ -86,24 +86,24 @@ protected ChunkedUploadRequest(@Nonnull final String requestUrl,
8686
*/
8787
@SuppressWarnings("unchecked")
8888
@Nonnull
89-
public ChunkedUploadResult<UploadType> upload(
90-
@Nonnull final ChunkedUploadResponseHandler<UploadType> responseHandler) {
89+
public LargeFileUploadResult<UploadType> upload(
90+
@Nonnull final LargeFileUploadResponseHandler<UploadType> responseHandler) {
9191
Objects.requireNonNull(responseHandler, "parameter responseHandler cannot be null");
92-
ChunkedUploadResult<UploadType> result = null;
92+
LargeFileUploadResult<UploadType> result = null;
9393

9494
try {
9595
result = this.baseRequest
9696
.getClient()
9797
.getHttpProvider()
98-
.send(baseRequest, (Class<ChunkedUploadResult<UploadType>>)(Class<?>) ChunkedUploadResult.class, this.data, responseHandler);
98+
.send(baseRequest, (Class<LargeFileUploadResult<UploadType>>)(Class<?>) LargeFileUploadResult.class, this.data, responseHandler);
9999
} catch (final ClientException e) {
100100
throw new ClientException("Request failed with error, retry if necessary.", e);
101101
}
102102

103103
if (result != null && result.chunkCompleted()) {
104104
return result;
105105
} else
106-
return new ChunkedUploadResult<UploadType>(
106+
return new LargeFileUploadResult<UploadType>(
107107
new ClientException("Upload session failed.", result == null ? null : result.getError()));
108108
}
109109
}

src/main/java/com/microsoft/graph/concurrency/ChunkedUploadResponseHandler.java renamed to src/main/java/com/microsoft/graph/tasks/LargeFileUploadResponseHandler.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// THE SOFTWARE.
2121
// ------------------------------------------------------------------------------
2222

23-
package com.microsoft.graph.concurrency;
23+
package com.microsoft.graph.tasks;
2424

2525
import com.google.common.io.ByteStreams;
2626

@@ -51,8 +51,8 @@
5151
*
5252
* @param <UploadType> the expected uploaded item
5353
*/
54-
public class ChunkedUploadResponseHandler<UploadType>
55-
implements IStatefulResponseHandler<ChunkedUploadResult<UploadType>, UploadType> {
54+
public class LargeFileUploadResponseHandler<UploadType>
55+
implements IStatefulResponseHandler<LargeFileUploadResult<UploadType>, UploadType> {
5656
/**
5757
* The expected deserialized upload type
5858
*/
@@ -65,7 +65,7 @@ public class ChunkedUploadResponseHandler<UploadType>
6565
* @param uploadType the expected upload item type
6666
* @param uploadSessionType the type of the upload session
6767
*/
68-
protected ChunkedUploadResponseHandler(@Nonnull final Class<UploadType> uploadType, @Nonnull final Class<? extends IUploadSession> uploadSessionType) {
68+
protected LargeFileUploadResponseHandler(@Nonnull final Class<UploadType> uploadType, @Nonnull final Class<? extends IUploadSession> uploadSessionType) {
6969
this.deserializeTypeClass = Objects.requireNonNull(uploadType, "parameter uploadType cannot be null");
7070
this.uploadSessionClass = Objects.requireNonNull(uploadSessionType, "parameter uploadSessionType cannot be null");
7171
}
@@ -92,7 +92,7 @@ public void configConnection(@Nonnull final Response response) {
9292
*/
9393
@Override
9494
@Nullable
95-
public ChunkedUploadResult<UploadType> generateResult(
95+
public LargeFileUploadResult<UploadType> generateResult(
9696
@Nonnull final IHttpRequest request,
9797
@Nonnull final Response response,
9898
@Nonnull final ISerializer serializer,
@@ -104,7 +104,7 @@ public ChunkedUploadResult<UploadType> generateResult(
104104
if (response.code() >= HttpResponseCode.HTTP_CLIENT_ERROR) {
105105
logger.logDebug("Receiving error during upload, see detail on result error");
106106

107-
return new ChunkedUploadResult<>(
107+
return new LargeFileUploadResult<>(
108108
GraphServiceException.createFromResponse(request, null, serializer,
109109
response, logger));
110110
} else if (response.code() >= HTTP_OK
@@ -117,28 +117,28 @@ public ChunkedUploadResult<UploadType> generateResult(
117117
return parseJsonUploadResult(body, serializer, logger);
118118
} else if (location != null) {
119119
logger.logDebug("Upload session is completed (Outlook), uploaded item returned.");
120-
return new ChunkedUploadResult<>(this.deserializeTypeClass.getDeclaredConstructor().newInstance());
120+
return new LargeFileUploadResult<>(this.deserializeTypeClass.getDeclaredConstructor().newInstance());
121121
} else {
122122
logger.logDebug("Upload session returned an unexpected response");
123123
}
124124
}
125125
}
126-
return new ChunkedUploadResult<>(new ClientException("Received an unexpected response from the service, response code: " + response.code(), null));
126+
return new LargeFileUploadResult<>(new ClientException("Received an unexpected response from the service, response code: " + response.code(), null));
127127
}
128128

129129
@Nonnull
130-
private ChunkedUploadResult<UploadType> parseJsonUploadResult(@Nonnull final ResponseBody responseBody, @Nonnull final ISerializer serializer, @Nonnull final ILogger logger) throws IOException {
130+
private LargeFileUploadResult<UploadType> parseJsonUploadResult(@Nonnull final ResponseBody responseBody, @Nonnull final ISerializer serializer, @Nonnull final ILogger logger) throws IOException {
131131
try (final InputStream in = responseBody.byteStream()) {
132132
final byte[] responseBytes = ByteStreams.toByteArray(in);
133133
final IUploadSession session = serializer.deserializeObject(new ByteArrayInputStream(responseBytes), uploadSessionClass);
134134

135135
if (session == null || session.getNextExpectedRanges() == null) {
136136
logger.logDebug("Upload session is completed (ODSP), uploaded item returned.");
137137
final UploadType uploadedItem = serializer.deserializeObject(new ByteArrayInputStream(responseBytes), this.deserializeTypeClass);
138-
return new ChunkedUploadResult<>(uploadedItem);
138+
return new LargeFileUploadResult<>(uploadedItem);
139139
} else {
140140
logger.logDebug("Chunk bytes has been accepted by the server.");
141-
return new ChunkedUploadResult<>(session);
141+
return new LargeFileUploadResult<>(session);
142142
}
143143
}
144144
}

src/main/java/com/microsoft/graph/concurrency/ChunkedUploadResult.java renamed to src/main/java/com/microsoft/graph/tasks/LargeFileUploadResult.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
33
// ------------------------------------------------------------------------------
44

5-
package com.microsoft.graph.concurrency;
5+
package com.microsoft.graph.tasks;
66

77
import com.microsoft.graph.core.ClientException;
88
import com.microsoft.graph.http.GraphServiceException;
@@ -16,7 +16,7 @@
1616
/**
1717
* Wrapper class for different upload response from server.
1818
*/
19-
public class ChunkedUploadResult<UploadType> {
19+
public class LargeFileUploadResult<UploadType> {
2020
/**
2121
* The uploaded item response.
2222
*/
@@ -37,7 +37,7 @@ public class ChunkedUploadResult<UploadType> {
3737
*
3838
* @param uploaded The created item.
3939
*/
40-
protected ChunkedUploadResult(@Nullable final UploadType uploaded) {
40+
protected LargeFileUploadResult(@Nullable final UploadType uploaded) {
4141
this.uploadedItem = uploaded;
4242
this.session = null;
4343
this.error = null;
@@ -48,7 +48,7 @@ protected ChunkedUploadResult(@Nullable final UploadType uploaded) {
4848
*
4949
* @param session The next session.
5050
*/
51-
protected ChunkedUploadResult(@Nullable final IUploadSession session) {
51+
protected LargeFileUploadResult(@Nullable final IUploadSession session) {
5252
this.session = session;
5353
this.uploadedItem = null;
5454
this.error = null;
@@ -59,7 +59,7 @@ protected ChunkedUploadResult(@Nullable final IUploadSession session) {
5959
*
6060
* @param error The error occurred during uploading.
6161
*/
62-
protected ChunkedUploadResult(@Nullable final ClientException error) {
62+
protected LargeFileUploadResult(@Nullable final ClientException error) {
6363
this.error = error;
6464
this.uploadedItem = null;
6565
this.session = null;
@@ -70,7 +70,7 @@ protected ChunkedUploadResult(@Nullable final ClientException error) {
7070
*
7171
* @param exception The exception received from server.
7272
*/
73-
protected ChunkedUploadResult(@Nonnull final GraphServiceException exception) {
73+
protected LargeFileUploadResult(@Nonnull final GraphServiceException exception) {
7474
this(new ClientException(Objects
7575
.requireNonNull(exception, "parameter exception cannot be null")
7676
.getMessage(/* verbose */ true),

src/main/java/com/microsoft/graph/concurrency/ChunkedUploadProvider.java renamed to src/main/java/com/microsoft/graph/tasks/LargeFileUploadTask.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// THE SOFTWARE.
2121
// ------------------------------------------------------------------------------
2222

23-
package com.microsoft.graph.concurrency;
23+
package com.microsoft.graph.tasks;
2424

2525
import com.microsoft.graph.core.ClientException;
2626
import com.microsoft.graph.core.IBaseClient;
@@ -42,7 +42,7 @@
4242
*
4343
* @param <UploadType> the upload item type
4444
*/
45-
public class ChunkedUploadProvider<UploadType> {
45+
public class LargeFileUploadTask<UploadType> {
4646

4747
/**
4848
* The default chunk size for upload. Currently set to 5 MiB.
@@ -83,7 +83,7 @@ public class ChunkedUploadProvider<UploadType> {
8383
/**
8484
* The upload response handler
8585
*/
86-
private final ChunkedUploadResponseHandler<UploadType> responseHandler;
86+
private final LargeFileUploadResponseHandler<UploadType> responseHandler;
8787

8888
/**
8989
* The counter for how many bytes have been read from input stream
@@ -99,7 +99,7 @@ public class ChunkedUploadProvider<UploadType> {
9999
* @param streamSize the stream size
100100
* @param uploadTypeClass the upload type class
101101
*/
102-
public ChunkedUploadProvider(@Nonnull final IUploadSession uploadSession,
102+
public LargeFileUploadTask(@Nonnull final IUploadSession uploadSession,
103103
@Nonnull final IBaseClient<?> client,
104104
@Nonnull final InputStream inputStream,
105105
final long streamSize,
@@ -115,7 +115,7 @@ public ChunkedUploadProvider(@Nonnull final IUploadSession uploadSession,
115115
this.inputStream = Objects.requireNonNull(inputStream, "Input stream is null.");
116116
this.streamSize = streamSize;
117117
this.uploadUrl = uploadSession.getUploadUrl();
118-
this.responseHandler = new ChunkedUploadResponseHandler<UploadType>(uploadTypeClass, uploadSession.getClass());
118+
this.responseHandler = new LargeFileUploadResponseHandler<UploadType>(uploadTypeClass, uploadSession.getClass());
119119
}
120120

121121
/**
@@ -159,10 +159,10 @@ public java.util.concurrent.CompletableFuture<UploadType> uploadAsync(@Nullable
159159
buffRead += read;
160160
}
161161

162-
final ChunkedUploadRequest<UploadType> request =
163-
new ChunkedUploadRequest<>(this.uploadUrl, this.client, options, buffer, buffRead,
162+
final LargeFileUploadRequest<UploadType> request =
163+
new LargeFileUploadRequest<>(this.uploadUrl, this.client, options, buffer, buffRead,
164164
this.readSoFar, this.streamSize);
165-
final ChunkedUploadResult<UploadType> result = request.upload(this.responseHandler);
165+
final LargeFileUploadResult<UploadType> result = request.upload(this.responseHandler);
166166
// TODO: upload should return a future, use sendfuture instead and the futures should be chained with completableFuture.then apply
167167

168168
if (result.uploadCompleted()) {

0 commit comments

Comments
 (0)