Skip to content

Commit 95e43c4

Browse files
jeet1995Copilot
andcommitted
Refactor accessor fields: mixed instance-field + static-getter approach
Pattern A (private final instance fields) — 18 files: CosmosAsyncClient, CosmosAsyncDatabase, CosmosAsyncScripts, CosmosAsyncUser, ConnectionPolicy, RxDocumentClientImpl, BulkExecutor, TransactionalBulkExecutor, HttpClientConfig, AggregateDocumentQueryExecutionContext, DefaultDocumentQueryExecutionContext, DocumentQueryExecutionContextBase, OrderByDocumentProducer, CosmosPagedFluxDefaultImpl, CosmosPagedFluxStaticListImpl Pattern B (private static lazy getter methods) — 11 files: CosmosAsyncContainer (11 methods), DiagnosticsProvider (3 methods), ClientTelemetryMetrics (1 method), DocumentProducer, DocumentQueryExecutionContextFactory, PipelinedDocumentQueryExecutionContext, PipelinedQueryExecutionContext, HybridSearchDocumentQueryExecutionContext, NonStreamingOrderByDocumentQueryExecutionContext, OrderByDocumentQueryExecutionContext, ParallelDocumentQueryExecutionContext 4 files originally listed as Pattern A were moved to Pattern B because their accessors are only used in static inner classes (ItemToPageTransformer, etc.). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 66afd43 commit 95e43c4

26 files changed

Lines changed: 384 additions & 232 deletions

sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@
7979
builder = CosmosClientBuilder.class,
8080
isAsync = true)
8181
public final class CosmosAsyncClient implements Closeable {
82+
private final ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.CosmosQueryRequestOptionsAccessor
83+
queryOptionsAccessor = ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor();
84+
private final ImplementationBridgeHelpers.FeedResponseHelper.FeedResponseAccessor
85+
feedResponseAccessor = ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor();
86+
8287
private static final Logger logger = LoggerFactory.getLogger(CosmosAsyncClient.class);
8388

8489
private static final CosmosClientTelemetryConfig DEFAULT_TELEMETRY_CONFIG = new CosmosClientTelemetryConfig();
@@ -461,7 +466,7 @@ CosmosPagedFlux<CosmosDatabaseProperties> readAllDatabases(CosmosQueryRequestOpt
461466
null,
462467
ResourceType.Database,
463468
OperationType.ReadFeed,
464-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
469+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
465470
nonNullOptions,
466471
pagedFluxOptions
467472
);
@@ -470,7 +475,7 @@ CosmosPagedFlux<CosmosDatabaseProperties> readAllDatabases(CosmosQueryRequestOpt
470475

471476
return getDocClientWrapper().readDatabases(state)
472477
.map(response ->
473-
ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
478+
feedResponseAccessor.createFeedResponse(
474479
ModelBridgeInternal.getCosmosDatabasePropertiesFromV2Results(response.getResults()),
475480
response.getResponseHeaders(),
476481
response.getCosmosDiagnostics()));
@@ -647,15 +652,15 @@ private CosmosPagedFlux<CosmosDatabaseProperties> queryDatabasesInternal(
647652
null,
648653
ResourceType.Database,
649654
OperationType.Query,
650-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
655+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
651656
nonNullOptions,
652657
pagedFluxOptions
653658
);
654659

655660
pagedFluxOptions.setFeedOperationState(state);
656661

657662
return getDocClientWrapper().queryDatabases(querySpec, state)
658-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
663+
.map(response -> feedResponseAccessor.createFeedResponse(
659664
ModelBridgeInternal.getCosmosDatabasePropertiesFromV2Results(response.getResults()),
660665
response.getResponseHeaders(),
661666
response.getCosmosDiagnostics()));

sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncContainer.java

Lines changed: 101 additions & 57 deletions
Large diffs are not rendered by default.

sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@
4444
* Perform read and delete databases, update database throughput, and perform operations on child resources
4545
*/
4646
public class CosmosAsyncDatabase {
47+
private final ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.CosmosQueryRequestOptionsAccessor
48+
queryOptionsAccessor = ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor();
49+
private final ImplementationBridgeHelpers.FeedResponseHelper.FeedResponseAccessor
50+
feedResponseAccessor = ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor();
51+
4752

4853
private final CosmosAsyncClient client;
4954
private final String id;
@@ -643,15 +648,15 @@ public CosmosPagedFlux<CosmosContainerProperties> readAllContainers(CosmosQueryR
643648
null,
644649
ResourceType.DocumentCollection,
645650
OperationType.ReadFeed,
646-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(requestOptions, spanName),
651+
queryOptionsAccessor.getQueryNameOrDefault(requestOptions, spanName),
647652
requestOptions,
648653
pagedFluxOptions
649654
);
650655

651656
pagedFluxOptions.setFeedOperationState(state);
652657

653658
return getDocClientWrapper().readCollections(getLink(), state)
654-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
659+
.map(response -> feedResponseAccessor.createFeedResponse(
655660
ModelBridgeInternal.getCosmosContainerPropertiesFromV2Results(response.getResults()),
656661
response.getResponseHeaders(),
657662
response.getCosmosDiagnostics()));
@@ -951,15 +956,15 @@ CosmosPagedFlux<CosmosUserProperties> readAllUsers(CosmosQueryRequestOptions opt
951956
null,
952957
ResourceType.User,
953958
OperationType.ReadFeed,
954-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
959+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
955960
nonNullOptions,
956961
pagedFluxOptions
957962
);
958963

959964
pagedFluxOptions.setFeedOperationState(state);
960965

961966
return getDocClientWrapper().readUsers(getLink(), state)
962-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
967+
.map(response -> feedResponseAccessor.createFeedResponse(
963968
ModelBridgeInternal.getCosmosUserPropertiesFromV2Results(response.getResults()), response
964969
.getResponseHeaders(),
965970
response.getCosmosDiagnostics()));
@@ -1014,15 +1019,15 @@ public CosmosPagedFlux<CosmosClientEncryptionKeyProperties> readAllClientEncrypt
10141019
null,
10151020
ResourceType.ClientEncryptionKey,
10161021
OperationType.ReadFeed,
1017-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
1022+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
10181023
nonNullOptions,
10191024
pagedFluxOptions
10201025
);
10211026

10221027
pagedFluxOptions.setFeedOperationState(state);
10231028

10241029
return getDocClientWrapper().readClientEncryptionKeys(getLink(), state)
1025-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
1030+
.map(response -> feedResponseAccessor.createFeedResponse(
10261031
ModelBridgeInternal.getClientEncryptionKeyPropertiesList(response.getResults()), response
10271032
.getResponseHeaders(),
10281033
response.getCosmosDiagnostics()));
@@ -1115,7 +1120,7 @@ private CosmosPagedFlux<CosmosClientEncryptionKeyProperties> queryClientEncrypti
11151120
null,
11161121
ResourceType.ClientEncryptionKey,
11171122
OperationType.Query,
1118-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
1123+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
11191124
nonNullOptions,
11201125
pagedFluxOptions
11211126
);
@@ -1299,15 +1304,15 @@ private CosmosPagedFlux<CosmosContainerProperties> queryContainersInternal(SqlQu
12991304
null,
13001305
ResourceType.DocumentCollection,
13011306
OperationType.Query,
1302-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
1307+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
13031308
nonNullOptions,
13041309
pagedFluxOptions
13051310
);
13061311

13071312
pagedFluxOptions.setFeedOperationState(state);
13081313

13091314
return getDocClientWrapper().queryCollections(getLink(), querySpec, state)
1310-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
1315+
.map(response -> feedResponseAccessor.createFeedResponse(
13111316
ModelBridgeInternal.getCosmosContainerPropertiesFromV2Results(response.getResults()),
13121317
response.getResponseHeaders(),
13131318
response.getCosmosDiagnostics()));
@@ -1327,7 +1332,7 @@ private CosmosPagedFlux<CosmosUserProperties> queryUsersInternal(SqlQuerySpec qu
13271332
null,
13281333
ResourceType.User,
13291334
OperationType.Query,
1330-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
1335+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
13311336
nonNullOptions,
13321337
pagedFluxOptions
13331338
);

sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@
3232
* and Triggers
3333
*/
3434
public class CosmosAsyncScripts {
35+
private final ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.CosmosQueryRequestOptionsAccessor
36+
queryOptionsAccessor = ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor();
37+
private final ImplementationBridgeHelpers.FeedResponseHelper.FeedResponseAccessor
38+
feedResponseAccessor = ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor();
39+
3540

3641
private final CosmosAsyncContainer container;
3742
private final CosmosAsyncDatabase database;
@@ -124,7 +129,7 @@ CosmosPagedFlux<CosmosStoredProcedureProperties> readAllStoredProcedures(CosmosQ
124129
this.container.getId(),
125130
ResourceType.StoredProcedure,
126131
OperationType.ReadFeed,
127-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
132+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
128133
nonNullOptions,
129134
pagedFluxOptions
130135
);
@@ -133,7 +138,7 @@ CosmosPagedFlux<CosmosStoredProcedureProperties> readAllStoredProcedures(CosmosQ
133138

134139
return database.getDocClientWrapper()
135140
.readStoredProcedures(container.getLink(), state)
136-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
141+
.map(response -> feedResponseAccessor.createFeedResponse(
137142
ModelBridgeInternal.getCosmosStoredProcedurePropertiesFromV2Results(response.getResults()),
138143
response.getResponseHeaders(),
139144
response.getCosmosDiagnostics()));
@@ -257,7 +262,7 @@ CosmosPagedFlux<CosmosUserDefinedFunctionProperties> readAllUserDefinedFunctions
257262
this.container.getId(),
258263
ResourceType.UserDefinedFunction,
259264
OperationType.ReadFeed,
260-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
265+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
261266
nonNullOptions,
262267
pagedFluxOptions
263268
);
@@ -266,7 +271,7 @@ CosmosPagedFlux<CosmosUserDefinedFunctionProperties> readAllUserDefinedFunctions
266271

267272
return database.getDocClientWrapper()
268273
.readUserDefinedFunctions(container.getLink(), state)
269-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
274+
.map(response -> feedResponseAccessor.createFeedResponse(
270275
ModelBridgeInternal.getCosmosUserDefinedFunctionPropertiesFromV2Results(response.getResults()),
271276
response.getResponseHeaders(),
272277
response.getCosmosDiagnostics()));
@@ -389,7 +394,7 @@ CosmosPagedFlux<CosmosTriggerProperties> readAllTriggers(CosmosQueryRequestOptio
389394
this.container.getId(),
390395
ResourceType.Trigger,
391396
OperationType.ReadFeed,
392-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
397+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
393398
nonNullOptions,
394399
pagedFluxOptions
395400
);
@@ -398,7 +403,7 @@ CosmosPagedFlux<CosmosTriggerProperties> readAllTriggers(CosmosQueryRequestOptio
398403

399404
return database.getDocClientWrapper()
400405
.readTriggers(container.getLink(), state)
401-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
406+
.map(response -> feedResponseAccessor.createFeedResponse(
402407
ModelBridgeInternal.getCosmosTriggerPropertiesFromV2Results(response.getResults()),
403408
response.getResponseHeaders(),
404409
response.getCosmosDiagnostics()));
@@ -472,7 +477,7 @@ private CosmosPagedFlux<CosmosStoredProcedureProperties> queryStoredProceduresIn
472477
this.container.getId(),
473478
ResourceType.StoredProcedure,
474479
OperationType.Query,
475-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
480+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
476481
nonNullOptions,
477482
pagedFluxOptions
478483
);
@@ -481,7 +486,7 @@ private CosmosPagedFlux<CosmosStoredProcedureProperties> queryStoredProceduresIn
481486

482487
return database.getDocClientWrapper()
483488
.queryStoredProcedures(container.getLink(), querySpec, state)
484-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
489+
.map(response -> feedResponseAccessor.createFeedResponse(
485490
ModelBridgeInternal.getCosmosStoredProcedurePropertiesFromV2Results(response.getResults()),
486491
response.getResponseHeaders(),
487492
response.getCosmosDiagnostics()));
@@ -503,7 +508,7 @@ private CosmosPagedFlux<CosmosUserDefinedFunctionProperties> queryUserDefinedFun
503508
this.container.getId(),
504509
ResourceType.UserDefinedFunction,
505510
OperationType.Query,
506-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
511+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
507512
nonNullOptions,
508513
pagedFluxOptions
509514
);
@@ -512,7 +517,7 @@ private CosmosPagedFlux<CosmosUserDefinedFunctionProperties> queryUserDefinedFun
512517

513518
return database.getDocClientWrapper()
514519
.queryUserDefinedFunctions(container.getLink(), querySpec, state)
515-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
520+
.map(response -> feedResponseAccessor.createFeedResponse(
516521
ModelBridgeInternal.getCosmosUserDefinedFunctionPropertiesFromV2Results(response.getResults()),
517522
response.getResponseHeaders(),
518523
response.getCosmosDiagnostics()));
@@ -541,7 +546,7 @@ private CosmosPagedFlux<CosmosTriggerProperties> queryTriggersInternal(
541546
this.container.getId(),
542547
ResourceType.Trigger,
543548
OperationType.Query,
544-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
549+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
545550
nonNullOptions,
546551
pagedFluxOptions
547552
);
@@ -550,7 +555,7 @@ private CosmosPagedFlux<CosmosTriggerProperties> queryTriggersInternal(
550555

551556
return database.getDocClientWrapper()
552557
.queryTriggers(container.getLink(), querySpec, state)
553-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
558+
.map(response -> feedResponseAccessor.createFeedResponse(
554559
ModelBridgeInternal.getCosmosTriggerPropertiesFromV2Results(response.getResults()),
555560
response.getResponseHeaders(),
556561
response.getCosmosDiagnostics()));

sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@
2727
* The type Cosmos async user.
2828
*/
2929
public class CosmosAsyncUser {
30+
private final ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.CosmosQueryRequestOptionsAccessor
31+
queryOptionsAccessor = ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor();
32+
private final ImplementationBridgeHelpers.FeedResponseHelper.FeedResponseAccessor
33+
feedResponseAccessor = ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor();
34+
3035

3136
private final CosmosAsyncDatabase database;
3237

@@ -162,7 +167,7 @@ CosmosPagedFlux<CosmosPermissionProperties> readAllPermissions(CosmosQueryReques
162167
null,
163168
ResourceType.Permission,
164169
OperationType.ReadFeed,
165-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(nonNullOptions, spanName),
170+
queryOptionsAccessor.getQueryNameOrDefault(nonNullOptions, spanName),
166171
nonNullOptions,
167172
pagedFluxOptions
168173
);
@@ -171,7 +176,7 @@ CosmosPagedFlux<CosmosPermissionProperties> readAllPermissions(CosmosQueryReques
171176

172177
return getDatabase().getDocClientWrapper()
173178
.readPermissions(getLink(), state)
174-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
179+
.map(response -> feedResponseAccessor.createFeedResponse(
175180
ModelBridgeInternal.getCosmosPermissionPropertiesFromResults(response.getResults()),
176181
response.getResponseHeaders(),
177182
response.getCosmosDiagnostics()));
@@ -218,7 +223,7 @@ public CosmosPagedFlux<CosmosPermissionProperties> queryPermissions(String query
218223
null,
219224
ResourceType.Permission,
220225
OperationType.Query,
221-
ImplementationBridgeHelpers.CosmosQueryRequestOptionsHelper.getCosmosQueryRequestOptionsAccessor().getQueryNameOrDefault(requestOptions, spanName),
226+
queryOptionsAccessor.getQueryNameOrDefault(requestOptions, spanName),
222227
requestOptions,
223228
pagedFluxOptions
224229
);
@@ -227,7 +232,7 @@ public CosmosPagedFlux<CosmosPermissionProperties> queryPermissions(String query
227232

228233
return getDatabase().getDocClientWrapper()
229234
.queryPermissions(getLink(), query, state)
230-
.map(response -> ImplementationBridgeHelpers.FeedResponseHelper.getFeedResponseAccessor().createFeedResponse(
235+
.map(response -> feedResponseAccessor.createFeedResponse(
231236
ModelBridgeInternal.getCosmosPermissionPropertiesFromResults(response.getResults()),
232237
response.getResponseHeaders(),
233238
response.getCosmosDiagnostics()));

0 commit comments

Comments
 (0)