Skip to content

Commit 36de355

Browse files
authored
Merge pull request #406 from microsoftgraph/rsh/spotbugsFixes
Update to Spotbugs 5.0.4
2 parents 756dae6 + c647edf commit 36de355

21 files changed

+148
-22
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ plugins {
1414
id 'maven-publish'
1515
id 'signing'
1616
id 'jacoco'
17-
id 'com.github.spotbugs' version '4.7.1'
17+
id 'com.github.spotbugs' version '5.0.4'
1818
id "org.sonarqube" version "3.3"
1919
}
2020

gradle/dependencies.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,9 @@ dependencies {
1111

1212
implementation 'com.google.code.gson:gson:2.8.9'
1313
api 'com.azure:azure-core:1.24.0'
14+
15+
compileOnly 'net.jcip:jcip-annotations:1.0'
16+
compileOnly 'com.github.spotbugs:spotbugs-annotations:4.5.1'
17+
testCompileOnly 'net.jcip:jcip-annotations:1.0'
18+
testCompileOnly 'com.github.spotbugs:spotbugs-annotations:4.5.1'
1419
}

src/main/java/com/microsoft/graph/core/BaseClient.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040

4141
import javax.annotation.Nonnull;
4242

43+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
4344
import okhttp3.OkHttpClient;
4445
import okhttp3.Request;
4546

@@ -75,7 +76,8 @@ public String getServiceRoot() {
7576

7677
@Override
7778
public void setServiceRoot(@Nonnull final String value) {
78-
endpoint = Objects.requireNonNull(value, "value parameter cannot be null");
79+
Objects.requireNonNull(value, "value parameter cannot be null");
80+
endpoint = String.valueOf(value);
7981
}
8082

8183
/**
@@ -225,6 +227,7 @@ public Builder<httpClientType, nativeRequestType> httpProvider(@Nonnull final IH
225227
* @return the instance of this builder
226228
*/
227229
@Nonnull
230+
@SuppressFBWarnings
228231
public Builder<httpClientType, nativeRequestType> logger(@Nonnull final ILogger logger) {
229232
Objects.requireNonNull(logger, "parameter logger cannot be null");
230233
this.logger = logger;
@@ -321,6 +324,7 @@ public IHttpProvider<nativeRequestType> getHttpProvider() {
321324
* @return The logger
322325
*/
323326
@Nullable
327+
@SuppressFBWarnings
324328
public ILogger getLogger() {
325329
return logger;
326330
}

src/main/java/com/microsoft/graph/http/BaseCollectionPage.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.microsoft.graph.serializer.AdditionalDataManager;
2727
import com.microsoft.graph.serializer.ISerializer;
2828
import com.microsoft.graph.serializer.IJsonBackedObject;
29+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2930

3031
import java.util.ArrayList;
3132
import java.util.Collections;
@@ -105,7 +106,7 @@ public T2 getNextPage() {
105106
*/
106107
@Nonnull
107108
public List<T> getCurrentPage() {
108-
return pageContents;
109+
return new ArrayList<>(pageContents);
109110
}
110111

111112
/**
@@ -119,6 +120,7 @@ public void setRawObject(@Nonnull final ISerializer serializer, @Nonnull final J
119120

120121
@Override
121122
@Nullable
123+
@SuppressFBWarnings
122124
public final AdditionalDataManager additionalDataManager() {
123125
return additionalDataManager;
124126
}

src/main/java/com/microsoft/graph/http/BaseCollectionRequest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import com.microsoft.graph.options.HeaderOption;
4040
import com.microsoft.graph.options.Option;
4141
import com.microsoft.graph.options.QueryOption;
42+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
4243

4344
/**
4445
* A request against a collection
@@ -215,7 +216,7 @@ public List<Option> getOptions() {
215216
*/
216217
public void addQueryOption(@Nonnull final QueryOption option) {
217218
Objects.requireNonNull(option, "parameter option cannot be null");
218-
baseRequest.getQueryOptions().add(option);
219+
baseRequest.addQueryOption(option);
219220
}
220221

221222
/**
@@ -301,7 +302,7 @@ protected void addCountOption(final boolean value) {
301302
*/
302303
public void addFunctionOption(@Nonnull final FunctionOption option) {
303304
Objects.requireNonNull(option, "parameter option cannot be null");
304-
baseRequest.getFunctionOptions().add(option);
305+
baseRequest.addFunctionOption(option);
305306
}
306307

307308
/**
@@ -310,6 +311,7 @@ public void addFunctionOption(@Nonnull final FunctionOption option) {
310311
* @return the base request for this collection request
311312
*/
312313
@Nonnull
314+
@SuppressFBWarnings
313315
public BaseRequest<T2> getBaseRequest() {
314316
return baseRequest;
315317
}

src/main/java/com/microsoft/graph/http/BaseCollectionResponse.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.microsoft.graph.serializer.IJsonBackedObject;
1515
import com.microsoft.graph.serializer.ISerializer;
1616
import com.microsoft.graph.serializer.AdditionalDataManager;
17+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
1718

1819
/**
1920
* The basic collection response implementation
@@ -56,6 +57,7 @@ public String nextLink() {
5657

5758
@Override
5859
@Nonnull
60+
@SuppressFBWarnings
5961
public final AdditionalDataManager additionalDataManager() {
6062
return additionalDataManager;
6163
}

src/main/java/com/microsoft/graph/http/BaseRequest.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222

2323
package com.microsoft.graph.http;
2424

25+
import com.microsoft.graph.core.BaseClient;
26+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2527
import okhttp3.HttpUrl;
2628
import okhttp3.HttpUrl.Builder;
2729

@@ -264,6 +266,7 @@ public HttpMethod getHttpMethod() {
264266
*/
265267
@Override
266268
@Nullable
269+
@SuppressFBWarnings
267270
public List<HeaderOption> getHeaders() {
268271
return headersOptions;
269272
}
@@ -338,6 +341,7 @@ protected <T1> T send(@Nullable final HttpMethod method,
338341
* @return the query options for this request
339342
*/
340343
@Nullable
344+
@SuppressFBWarnings
341345
public List<QueryOption> getQueryOptions() {
342346
return queryOptions;
343347
}
@@ -348,6 +352,7 @@ public List<QueryOption> getQueryOptions() {
348352
* @return the function options for this request
349353
*/
350354
@Nullable
355+
@SuppressFBWarnings
351356
public List<FunctionOption> getFunctionOptions() {
352357
return functionOptions;
353358
}
@@ -373,7 +378,7 @@ public List<Option> getOptions() {
373378
*/
374379
public void addQueryOption(@Nonnull final QueryOption option) {
375380
Objects.requireNonNull(option, "parameter option cannot be null");
376-
getQueryOptions().add(option);
381+
queryOptions.add(option);
377382
}
378383

379384
/**
@@ -383,7 +388,7 @@ public void addQueryOption(@Nonnull final QueryOption option) {
383388
*/
384389
public void addFunctionOption(@Nonnull final FunctionOption option) {
385390
Objects.requireNonNull(option, "parameter option cannot be null");
386-
getFunctionOptions().add(option);
391+
functionOptions.add(option);
387392
}
388393

389394
/**
@@ -490,8 +495,9 @@ public IHttpRequest withHttpMethod(@Nonnull final HttpMethod httpMethod) {
490495
* @return the client
491496
*/
492497
@Nonnull
498+
@SuppressFBWarnings
493499
public IBaseClient<?> getClient() {
494-
return client;
500+
return this.client;
495501
}
496502

497503
/**
@@ -500,6 +506,7 @@ public IBaseClient<?> getClient() {
500506
* @return the response type
501507
*/
502508
@Nullable
509+
@SuppressFBWarnings
503510
public Class<? extends T> getResponseType() {
504511
return responseClass;
505512
}

src/main/java/com/microsoft/graph/http/BaseRequestBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.microsoft.graph.core.IBaseClient;
2626
import com.microsoft.graph.options.Option;
27+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2728

2829
import java.util.ArrayList;
2930
import java.util.Collections;
@@ -79,6 +80,7 @@ public BaseRequestBuilder(
7980
* @return the client
8081
*/
8182
@Nullable
83+
@SuppressFBWarnings
8284
public IBaseClient<?> getClient() {
8385
return client;
8486
}

src/main/java/com/microsoft/graph/http/CoreHttpProvider.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@
5151
import javax.annotation.Nonnull;
5252
import javax.annotation.Nullable;
5353

54+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
55+
5456
import okhttp3.Call;
5557
import okhttp3.MediaType;
5658
import okhttp3.OkHttpClient;
@@ -108,6 +110,7 @@ public class CoreHttpProvider implements IHttpProvider<Request> {
108110
* @param logger the logger for diagnostic information
109111
* @param httpClient the client to send http requests with
110112
*/
113+
@SuppressFBWarnings
111114
public CoreHttpProvider(@Nonnull final ISerializer serializer,
112115
@Nonnull final ILogger logger,
113116
@Nonnull final OkHttpClient httpClient) {
@@ -635,6 +638,7 @@ static boolean hasHeader(List<HeaderOption> headers, String header) {
635638
*/
636639
@VisibleForTesting
637640
@Nullable
641+
@SuppressFBWarnings
638642
public ILogger getLogger() {
639643
return logger;
640644
}

src/main/java/com/microsoft/graph/http/GraphError.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,19 @@ protected String transformErrorCodeCase(@Nonnull final String original) {
8686
Objects.requireNonNull(original, "parameter original cannot be null");
8787
return CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, original);
8888
}
89+
90+
/**
91+
* Makes a deep copy of this GraphError
92+
* @return The copy of this GraphError
93+
*/
94+
@Nonnull
95+
public final GraphError copy() {
96+
GraphError errorCopy = new GraphError();
97+
errorCopy.message = this.message;
98+
errorCopy.code = this.code;
99+
if(this.innererror != null) {
100+
errorCopy.innererror = this.innererror.copy();
101+
}
102+
return errorCopy;
103+
}
89104
}

0 commit comments

Comments
 (0)