Skip to content

Commit 7cbe7a5

Browse files
Added support for clientOptions in generated code; Fixed several ApiView issues (Azure#26226)
* Cleaned up some autorest generation; Removed some unnecessary methods * Updated autorest version; Added support for ClientOptions * Corrected User-Agent string by building HTTP pipeline manually * Removed the impl Builder class since it no longer provides any value * Fixed typo in ServiceVersion.java file; removed a couple of unneeded imports * Added telemetry tests to attestation SDK * Version goes on version node * Bumped opentelemetry to version 18
1 parent 5b2adff commit 7cbe7a5

32 files changed

+524
-1623
lines changed

eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,10 +425,12 @@ the main ServiceBusClientBuilder. -->
425425
<suppress checks="com.azure.tools.checkstyle.checks.ServiceClientCheck"
426426
files="com.azure.search.documents.(SearchIndexingBufferedAsyncSender|SearchIndexingBufferedSender)"/>
427427

428+
<!-- Allow Attestation Service use of OpenTelemetry -->
429+
<suppress checks="IllegalImport" files=".*[/\\]src[/\\]test[/\\]java[/\\]com[/\\]azure[/\\]security[/\\]attestation[/\\]AttestationClientTestBase.java"/>
430+
<suppress checks="IllegalImport" files=".*[/\\]src[/\\]test[/\\]java[/\\]com[/\\]azure[/\\]security[/\\]attestation[/\\]AttestationTest.java"/>
431+
428432
<!-- Suppress checks on AutoRest generated Attestation service code -->
429-
<suppress checks="ThrowFromClientLogger"
430-
files="com.azure.security.attestation.models.JsonWebKey.java"/>
431-
<suppress checks="WhitespaceAround|ThrowFromClientLogger"
433+
<suppress checks="WhitespaceAround|ThrowFromClientLogger"
432434
files="com.azure.security.attestation.implementation.models.*\.java"/>
433435

434436
<suppress checks="com.azure.tools.checkstyle.checks.GoodLoggingCheck"

sdk/attestation/azure-security-attestation/pom.xml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@
5252
<artifactId>nimbus-jose-jwt</artifactId>
5353
<version>9.10.1</version> <!-- {x-version-update;com.nimbusds:nimbus-jose-jwt;external_dependency} -->
5454
</dependency>
55+
<!-- Added this dependency to include necessary annotations used by reactor core.
56+
Without this dependency, java throws a warning about the GuardedBy attribute. -->
57+
<dependency>
58+
<groupId>com.google.code.findbugs</groupId>
59+
<artifactId>jsr305</artifactId>
60+
<version>3.0.2</version> <!-- {x-version-update;com.google.code.findbugs:jsr305;external_dependency} -->
61+
<scope>provided</scope>
62+
</dependency>
5563

5664
<!-- Test dependencies -->
5765
<dependency>
@@ -60,6 +68,28 @@
6068
<version>1.7.7</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
6169
<scope>test</scope>
6270
</dependency>
71+
<dependency>
72+
<groupId>com.azure</groupId>
73+
<artifactId>azure-core-tracing-opentelemetry</artifactId>
74+
<version>1.0.0-beta.19</version> <!-- {x-version-update;com.azure:azure-core-tracing-opentelemetry;dependency} -->
75+
</dependency>
76+
<dependency>
77+
<groupId>io.opentelemetry</groupId>
78+
<artifactId>opentelemetry-api</artifactId>
79+
<version>1.0.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-api;external_dependency} -->
80+
</dependency>
81+
<dependency>
82+
<groupId>io.opentelemetry</groupId>
83+
<artifactId>opentelemetry-exporter-logging</artifactId>
84+
<version>1.0.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-exporter-logging;external_dependency} -->
85+
<scope>test</scope>
86+
</dependency>
87+
<dependency>
88+
<groupId>io.opentelemetry</groupId>
89+
<artifactId>opentelemetry-sdk</artifactId>
90+
<version>1.0.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-sdk;external_dependency} -->
91+
<scope>test</scope>
92+
</dependency>
6393
<dependency>
6494
<groupId>org.junit.jupiter</groupId>
6595
<artifactId>junit-jupiter-api</artifactId>
@@ -117,6 +147,9 @@
117147
<bannedDependencies>
118148
<includes>
119149
<include>com.nimbusds:nimbus-jose-jwt:[9.10.1]</include> <!-- {x-include-update;com.nimbusds:nimbus-jose-jwt;external_dependency} -->
150+
<include>io.opentelemetry:opentelemetry-api:[1.0.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-api;external_dependency} -->
151+
<include>io.opentelemetry:opentelemetry-sdk:[1.0.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-sdk;external_dependency} -->
152+
<include>io.opentelemetry:opentelemetry-exporter-logging:[1.0.0]</include> <!-- {x-include-update;io.opentelemetry:opentelemetry-exporter-logging;external_dependency} -->
120153
</includes>
121154
</bannedDependencies>
122155
</rules>

sdk/attestation/azure-security-attestation/src/main/java/com/azure/security/attestation/AttestationAdministrationAsyncClient.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ Mono<Response<String>> getAttestationPolicyWithResponse(AttestationType attestat
247247
.onErrorMap(Utilities::mapException)
248248
.flatMap(response -> {
249249
Response<AttestationTokenImpl> token = Utilities.generateResponseFromModelType(response, new AttestationTokenImpl(response.getValue().getToken()));
250-
return getCachedAttestationSigners()
250+
return getCachedAttestationSigners(context)
251251
.map(signers -> {
252252
token.getValue().validate(signers, validationOptionsToUse);
253253
String policyJwt = token.getValue().getBody(com.azure.security.attestation.implementation.models.PolicyResult.class).getPolicy();
@@ -406,7 +406,7 @@ Mono<Response<PolicyResult>> setAttestationPolicyWithResponse(AttestationType at
406406
.onErrorMap(Utilities::mapException)
407407
.flatMap(response -> {
408408
Response<AttestationTokenImpl> token = Utilities.generateResponseFromModelType(response, new AttestationTokenImpl(response.getValue().getToken()));
409-
return getCachedAttestationSigners()
409+
return getCachedAttestationSigners(context)
410410
.map(signers -> {
411411
token.getValue().validate(signers, finalOptions);
412412
PolicyResult policyResult = PolicyResultImpl.fromGenerated(token.getValue().getBody(com.azure.security.attestation.implementation.models.PolicyResult.class));
@@ -626,7 +626,7 @@ Mono<Response<PolicyResult>> resetAttestationPolicyWithResponse(AttestationType
626626
.onErrorMap(Utilities::mapException)
627627
.flatMap(response -> {
628628
Response<AttestationTokenImpl> token = Utilities.generateResponseFromModelType(response, new AttestationTokenImpl(response.getValue().getToken()));
629-
return getCachedAttestationSigners()
629+
return getCachedAttestationSigners(context)
630630
.map(signers -> {
631631
token.getValue().validate(signers, finalOptions);
632632
PolicyResult policyResult = PolicyResultImpl.fromGenerated(token.getValue().getBody(com.azure.security.attestation.implementation.models.PolicyResult.class));
@@ -729,7 +729,7 @@ Mono<Response<List<AttestationSigner>>> listPolicyManagementCertificatesWithResp
729729
.onErrorMap(Utilities::mapException)
730730
.flatMap(response -> {
731731
Response<AttestationTokenImpl> responseWithToken = Utilities.generateResponseFromModelType(response, new AttestationTokenImpl(response.getValue().getToken()));
732-
return getCachedAttestationSigners()
732+
return getCachedAttestationSigners(context)
733733
.map(signers -> {
734734
responseWithToken.getValue().validate(signers, optionsToUse);
735735
JsonWebKeySet policyJwks = responseWithToken.getValue().getBody(com.azure.security.attestation.implementation.models.PolicyCertificatesResult.class).getPolicyCertificates();
@@ -861,7 +861,7 @@ Mono<Response<PolicyCertificatesModificationResult>> addPolicyManagementCertific
861861
.onErrorMap(Utilities::mapException)
862862
.flatMap(response -> {
863863
Response<AttestationTokenImpl> token = Utilities.generateResponseFromModelType(response, new AttestationTokenImpl(response.getValue().getToken()));
864-
return getCachedAttestationSigners()
864+
return getCachedAttestationSigners(context)
865865
.map(signers -> {
866866
token.getValue().validate(signers, finalOptions);
867867
PolicyCertificatesModificationResult addResult = PolicyCertificatesModificationResultImpl.fromGenerated(token.getValue().getBody(com.azure.security.attestation.implementation.models.PolicyCertificatesModificationResult.class));
@@ -1000,7 +1000,7 @@ Mono<Response<PolicyCertificatesModificationResult>> removePolicyManagementCerti
10001000
.onErrorMap(Utilities::mapException)
10011001
.flatMap(response -> {
10021002
Response<AttestationTokenImpl> token = Utilities.generateResponseFromModelType(response, new AttestationTokenImpl(response.getValue().getToken()));
1003-
return getCachedAttestationSigners()
1003+
return getCachedAttestationSigners(context)
10041004
.map(signers -> {
10051005
token.getValue().validate(signers, finalOptions);
10061006
PolicyCertificatesModificationResult addResult = PolicyCertificatesModificationResultImpl.fromGenerated(token.getValue().getBody(com.azure.security.attestation.implementation.models.PolicyCertificatesModificationResult.class));
@@ -1026,14 +1026,15 @@ Mono<Response<PolicyCertificatesModificationResult>> removePolicyManagementCerti
10261026
* because the `compareAndSet` API won't capture a reference to the second `signers` object.
10271027
*
10281028
* </p>
1029+
* @param context Context for the operation.
10291030
* @return cached signers.
10301031
*/
1031-
Mono<List<AttestationSigner>> getCachedAttestationSigners() {
1032+
Mono<List<AttestationSigner>> getCachedAttestationSigners(Context context) {
10321033
if (this.cachedSigners.get() != null) {
10331034
return Mono.just(this.cachedSigners.get());
10341035
} else {
1035-
return this.signingCertificatesImpl.getAsync()
1036-
.map(AttestationSignerImpl::attestationSignersFromJwks)
1036+
return this.signingCertificatesImpl.getWithResponseAsync(context)
1037+
.map(response -> AttestationSignerImpl.attestationSignersFromJwks(response.getValue()))
10371038
.map(signers -> {
10381039
this.cachedSigners.compareAndSet(null, signers);
10391040
return this.cachedSigners.get();

0 commit comments

Comments
 (0)