Skip to content

Commit a317d24

Browse files
authored
[Communication] - Identity and Common - Addressed final identity and common apiview comments (Azure#19530)
* Addressed final identity and common apiview comments * Address final changes * Currently fixing unnamed module issue
1 parent da3b5f8 commit a317d24

File tree

16 files changed

+84
-56
lines changed

16 files changed

+84
-56
lines changed

sdk/communication/azure-communication-chat/pom.xml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,4 +123,26 @@
123123
</plugin>
124124
</plugins>
125125
</build>
126+
<profiles>
127+
<profile>
128+
<id>java-lts</id>
129+
<activation>
130+
<jdk>[11,)</jdk>
131+
</activation>
132+
<build>
133+
<plugins>
134+
<plugin>
135+
<groupId>org.apache.maven.plugins</groupId>
136+
<artifactId>maven-surefire-plugin</artifactId>
137+
<version>3.0.0-M3</version> <!-- {x-version-update;org.apache.maven.plugins:maven-surefire-plugin;external_dependency} -->
138+
<configuration>
139+
<argLine>
140+
--add-opens com.azure.communication.common/com.azure.communication.common.implementation=ALL-UNNAMED
141+
</argLine>
142+
</configuration>
143+
</plugin>
144+
</plugins>
145+
</build>
146+
</profile>
147+
</profiles>
126148
</project>

sdk/communication/azure-communication-chat/src/main/java/com/azure/communication/chat/implementation/CommunicationBearerTokenCredential.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
package com.azure.communication.chat.implementation;
55

6-
import java.util.concurrent.ExecutionException;
7-
86
import com.azure.communication.common.CommunicationTokenCredential;
97
import com.azure.core.credential.AccessToken;
108
import com.azure.core.credential.TokenCredential;
@@ -31,12 +29,6 @@ public CommunicationBearerTokenCredential(CommunicationTokenCredential communica
3129

3230
@Override
3331
public Mono<AccessToken> getToken(TokenRequestContext request) {
34-
try {
35-
return credential.getToken();
36-
} catch (InterruptedException ex) {
37-
return Mono.error(ex);
38-
} catch (ExecutionException ex) {
39-
return Mono.error(ex);
40-
}
32+
return credential.getToken();
4133
}
4234
}

sdk/communication/azure-communication-chat/src/main/java/com/azure/communication/chat/implementation/converters/CommunicationIdentifierConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public static CommunicationIdentifier convert(CommunicationIdentifierModel ident
4949
return new MicrosoftTeamsUserIdentifier(teamsUserIdentifierModel.getUserId(),
5050
teamsUserIdentifierModel.isAnonymous())
5151
.setRawId(rawId)
52-
.setCloudEnvironment(new CommunicationCloudEnvironment(teamsUserIdentifierModel.getCloud().toString()));
52+
.setCloudEnvironment(new CommunicationCloudEnvironment().fromString(teamsUserIdentifierModel.getCloud().toString()));
5353
}
5454

5555
Objects.requireNonNull(rawId);

sdk/communication/azure-communication-common/CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
# Release History
22

3+
## 1.0.0-beta.6 (2021-03-09)
4+
### Breaking Changes
5+
- Renamed `CommunicationTokenRefreshOptions.getRefreshProactively()` to `CommunicationTokenRefreshOptions.isRefreshProactively()`
6+
- Constructor for `CommunicationCloudEnvironment` has been removed and now to set an environment value, the `fromString()` method must be called
7+
- `CommunicationCloudEnvironment`, `CommunicationTokenRefreshOptions `, `CommunicationUserIdentifier`, `MicrosoftTeamsUserIdentifier`,
8+
`PhoneNumberIdentifier`, `UnknownIdentifier`, are all final classes now.
39
## 1.0.0-beta.5 (2021-03-02)
4-
Updated `azure-communication-common` version
10+
- Updated `azure-communication-common` version
11+
512

613
## 1.0.0-beta.4 (2021-02-09)
714
### Breaking Changes

sdk/communication/azure-communication-common/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
<properties>
3939
<src.dir>src/main</src.dir>
4040
<test.dir>src/test</test.dir>
41-
<jacoco.min.linecoverage>0.65</jacoco.min.linecoverage>
42-
<jacoco.min.branchcoverage>0.50</jacoco.min.branchcoverage>
41+
<jacoco.min.linecoverage>0.69</jacoco.min.linecoverage>
42+
<jacoco.min.branchcoverage>0.52</jacoco.min.branchcoverage>
4343
</properties>
4444

4545
<dependencies>

sdk/communication/azure-communication-common/src/main/java/com/azure/communication/common/CommunicationCloudEnvironment.java

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,50 @@
33
package com.azure.communication.common;
44

55
import java.util.Objects;
6+
import com.azure.core.util.ExpandableStringEnum;
67

78
/**
89
* The cloud that the identifier belongs to.
910
*/
10-
public class CommunicationCloudEnvironment {
11+
public final class CommunicationCloudEnvironment extends ExpandableStringEnum<CommunicationCloudEnvironment> {
1112
private static final String PUBLIC_VALUE = "public";
1213
private static final String DOD_VALUE = "dod";
1314
private static final String GCCH_VALUE = "gcch";
1415

15-
private final String environmentValue;
16+
private String environmentValue;
1617

1718
/**
18-
* Create CommunicationCloudEnvironment with name string
19-
* @param environmentValue name of hte cloud environment
19+
* Creates a default CommunicationCloudEnvironment
2020
*/
21-
public CommunicationCloudEnvironment(String environmentValue) {
21+
public CommunicationCloudEnvironment() {
22+
this.environmentValue = PUBLIC_VALUE;
23+
}
24+
25+
/**
26+
* Sets an environment value from a String
27+
* @param environmentValue string representation of the environment value
28+
* @return CommunicationCloudEnvironment object itself
29+
*/
30+
public CommunicationCloudEnvironment fromString(String environmentValue) {
2231
Objects.requireNonNull(environmentValue);
2332
this.environmentValue = environmentValue;
33+
return this;
2434
}
2535

2636
/**
2737
* Represent Azure public cloud
2838
*/
29-
public static final CommunicationCloudEnvironment PUBLIC = new CommunicationCloudEnvironment(PUBLIC_VALUE);
39+
public static final CommunicationCloudEnvironment PUBLIC = new CommunicationCloudEnvironment().fromString(PUBLIC_VALUE);
3040

3141
/**
3242
* Represent Azure Dod cloud
3343
*/
34-
public static final CommunicationCloudEnvironment DOD = new CommunicationCloudEnvironment(DOD_VALUE);
44+
public static final CommunicationCloudEnvironment DOD = new CommunicationCloudEnvironment().fromString(DOD_VALUE);
3545

3646
/**
3747
* Represent Azure Gcch cloud
3848
*/
39-
public static final CommunicationCloudEnvironment GCCH = new CommunicationCloudEnvironment(GCCH_VALUE);
49+
public static final CommunicationCloudEnvironment GCCH = new CommunicationCloudEnvironment().fromString(GCCH_VALUE);
4050

4151
@Override
4252
public boolean equals(Object that) {

sdk/communication/azure-communication-common/src/main/java/com/azure/communication/common/CommunicationTokenCredential.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
// Licensed under the MIT License.
33
package com.azure.communication.common;
44

5-
import java.util.concurrent.ExecutionException;
6-
75
import com.azure.core.util.FluxUtil;
86
import com.azure.core.util.logging.ClientLogger;
97

@@ -59,7 +57,7 @@ public CommunicationTokenCredential(CommunicationTokenRefreshOptions tokenRefres
5957
refresher = tokenRefresher;
6058
if (tokenRefreshOptions.getToken() != null) {
6159
setToken(tokenRefreshOptions.getToken());
62-
if (tokenRefreshOptions.getRefreshProactively()) {
60+
if (tokenRefreshOptions.isRefreshProactively()) {
6361
OffsetDateTime nextFetchTime = accessToken.getExpiresAt().minusMinutes(DEFAULT_EXPIRING_OFFSET_MINUTES);
6462
fetchingTask = new FetchingTask(this, nextFetchTime);
6563
}
@@ -70,10 +68,8 @@ public CommunicationTokenCredential(CommunicationTokenRefreshOptions tokenRefres
7068
* Get Azure core access token from credential
7169
*
7270
* @return Asynchronous call to fetch actual token
73-
* @throws ExecutionException when supplier throws this exception
74-
* @throws InterruptedException when supplier throws this exception
7571
*/
76-
public Mono<AccessToken> getToken() throws InterruptedException, ExecutionException {
72+
public Mono<AccessToken> getToken() {
7773
if (isClosed) {
7874
return FluxUtil.monoError(logger,
7975
new RuntimeException("getToken called on closed CommunicationTokenCredential object"));

sdk/communication/azure-communication-common/src/main/java/com/azure/communication/common/CommunicationTokenRefreshOptions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/**
66
* Options for refreshing CommunicationTokenCredential
77
*/
8-
public class CommunicationTokenRefreshOptions {
8+
public final class CommunicationTokenRefreshOptions {
99
private final TokenRefresher tokenRefresher;
1010
private final boolean refreshProactively;
1111
private final String initialToken;
@@ -51,7 +51,7 @@ public TokenRefresher getTokenRefresher() {
5151
/**
5252
* @return whether or not to refresh token proactively
5353
*/
54-
public boolean getRefreshProactively() {
54+
public boolean isRefreshProactively() {
5555
return refreshProactively;
5656
}
5757

sdk/communication/azure-communication-common/src/main/java/com/azure/communication/common/CommunicationUserIdentifier.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
/**
88
* Communication identifier for Communication Services Users
99
*/
10-
public class CommunicationUserIdentifier extends CommunicationIdentifier {
10+
public final class CommunicationUserIdentifier extends CommunicationIdentifier {
1111

1212
private final String id;
1313

sdk/communication/azure-communication-common/src/main/java/com/azure/communication/common/MicrosoftTeamsUserIdentifier.java

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,14 @@
88
/**
99
* Communication identifier for Microsoft Teams User
1010
*/
11-
public class MicrosoftTeamsUserIdentifier extends CommunicationIdentifier {
11+
public final class MicrosoftTeamsUserIdentifier extends CommunicationIdentifier {
1212

1313
private final String userId;
1414
private final boolean isAnonymous;
1515
private CommunicationCloudEnvironment cloudEnvironment = CommunicationCloudEnvironment.PUBLIC;
1616

1717
private String rawId;
1818

19-
/**
20-
* Creates a MicrosoftTeamsUserIdentifier object
21-
*
22-
* @param userId Id of the Microsoft Teams user. If the user isn't anonymous, the id is the AAD object id of the user.
23-
* @param isAnonymous set this to true if the user is anonymous,
24-
* for example when joining a meeting with a share link
25-
* @param cloudEnvironment the cloud environment in which this identifier is created
26-
* @throws IllegalArgumentException thrown if userId parameter fail the validation.
27-
*/
28-
public MicrosoftTeamsUserIdentifier(String userId, boolean isAnonymous, CommunicationCloudEnvironment cloudEnvironment) {
29-
this(userId, isAnonymous);
30-
this.cloudEnvironment = cloudEnvironment;
31-
}
32-
3319
/**
3420
* Creates a MicrosoftTeamsUserIdentifier object
3521
*
@@ -76,7 +62,7 @@ public boolean isAnonymous() {
7662
* @param cloudEnvironment the cloud environment in which this identifier is created
7763
* @return this object
7864
*/
79-
public MicrosoftTeamsUserIdentifier setCloudEnvironment(CommunicationCloudEnvironment cloudEnvironment) {
65+
public MicrosoftTeamsUserIdentifier setCloudEnvironment(CommunicationCloudEnvironment cloudEnvironment) {
8066
this.cloudEnvironment = cloudEnvironment;
8167
return this;
8268
}

0 commit comments

Comments
 (0)