1
1
package dev .openfeature .sdk ;
2
2
3
3
import dev .openfeature .sdk .exceptions .OpenFeatureError ;
4
- import dev .openfeature .sdk .internal .AutoCloseableLock ;
5
4
import dev .openfeature .sdk .internal .AutoCloseableReentrantReadWriteLock ;
6
5
import java .util .ArrayList ;
7
6
import java .util .Arrays ;
@@ -115,7 +114,8 @@ public Client getClient(String domain, String version) {
115
114
* @return api instance
116
115
*/
117
116
public OpenFeatureAPI setEvaluationContext (EvaluationContext evaluationContext ) {
118
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
117
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
118
+ try (autoCloseableLock ) {
119
119
this .evaluationContext = evaluationContext ;
120
120
}
121
121
return this ;
@@ -127,7 +127,8 @@ public OpenFeatureAPI setEvaluationContext(EvaluationContext evaluationContext)
127
127
* @return evaluation context
128
128
*/
129
129
public EvaluationContext getEvaluationContext () {
130
- try (AutoCloseableLock __ = lock .readLockAutoCloseable ()) {
130
+ var autoCloseableLock = lock .readLockAutoCloseable ();
131
+ try (autoCloseableLock ) {
131
132
return this .evaluationContext ;
132
133
}
133
134
}
@@ -136,7 +137,8 @@ public EvaluationContext getEvaluationContext() {
136
137
* Return the transaction context propagator.
137
138
*/
138
139
public TransactionContextPropagator getTransactionContextPropagator () {
139
- try (AutoCloseableLock __ = lock .readLockAutoCloseable ()) {
140
+ var autoCloseableLock = lock .readLockAutoCloseable ();
141
+ try (autoCloseableLock ) {
140
142
return this .transactionContextPropagator ;
141
143
}
142
144
}
@@ -150,7 +152,8 @@ public void setTransactionContextPropagator(TransactionContextPropagator transac
150
152
if (transactionContextPropagator == null ) {
151
153
throw new IllegalArgumentException ("Transaction context propagator cannot be null" );
152
154
}
153
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
155
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
156
+ try (autoCloseableLock ) {
154
157
this .transactionContextPropagator = transactionContextPropagator ;
155
158
}
156
159
}
@@ -176,7 +179,8 @@ public void setTransactionContext(EvaluationContext evaluationContext) {
176
179
* Set the default provider.
177
180
*/
178
181
public void setProvider (FeatureProvider provider ) {
179
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
182
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
183
+ try (autoCloseableLock ) {
180
184
providerRepository .setProvider (
181
185
provider ,
182
186
this ::attachEventProvider ,
@@ -194,7 +198,8 @@ public void setProvider(FeatureProvider provider) {
194
198
* @param provider The provider to set.
195
199
*/
196
200
public void setProvider (String domain , FeatureProvider provider ) {
197
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
201
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
202
+ try (autoCloseableLock ) {
198
203
providerRepository .setProvider (
199
204
domain ,
200
205
provider ,
@@ -210,7 +215,8 @@ public void setProvider(String domain, FeatureProvider provider) {
210
215
* Set the default provider and wait for initialization to finish.
211
216
*/
212
217
public void setProviderAndWait (FeatureProvider provider ) throws OpenFeatureError {
213
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
218
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
219
+ try (autoCloseableLock ) {
214
220
providerRepository .setProvider (
215
221
provider ,
216
222
this ::attachEventProvider ,
@@ -228,7 +234,8 @@ public void setProviderAndWait(FeatureProvider provider) throws OpenFeatureError
228
234
* @param provider The provider to set.
229
235
*/
230
236
public void setProviderAndWait (String domain , FeatureProvider provider ) throws OpenFeatureError {
231
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
237
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
238
+ try (autoCloseableLock ) {
232
239
providerRepository .setProvider (
233
240
domain ,
234
241
provider ,
@@ -297,7 +304,8 @@ public FeatureProvider getProvider(String domain) {
297
304
* @param hooks The hook to add.
298
305
*/
299
306
public void addHooks (Hook ... hooks ) {
300
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
307
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
308
+ try (autoCloseableLock ) {
301
309
this .apiHooks .addAll (Arrays .asList (hooks ));
302
310
}
303
311
}
@@ -308,7 +316,8 @@ public void addHooks(Hook... hooks) {
308
316
* @return A list of {@link Hook}s.
309
317
*/
310
318
public List <Hook > getHooks () {
311
- try (AutoCloseableLock __ = lock .readLockAutoCloseable ()) {
319
+ var autoCloseableLock = lock .readLockAutoCloseable ();
320
+ try (autoCloseableLock ) {
312
321
return this .apiHooks ;
313
322
}
314
323
}
@@ -317,7 +326,8 @@ public List<Hook> getHooks() {
317
326
* Removes all hooks.
318
327
*/
319
328
public void clearHooks () {
320
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
329
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
330
+ try (autoCloseableLock ) {
321
331
this .apiHooks .clear ();
322
332
}
323
333
}
@@ -329,7 +339,8 @@ public void clearHooks() {
329
339
* Once shut down is complete, API is reset and ready to use again.
330
340
*/
331
341
public void shutdown () {
332
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
342
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
343
+ try (autoCloseableLock ) {
333
344
providerRepository .shutdown ();
334
345
eventSupport .shutdown ();
335
346
@@ -375,7 +386,8 @@ public OpenFeatureAPI onProviderError(Consumer<EventDetails> handler) {
375
386
*/
376
387
@ Override
377
388
public OpenFeatureAPI on (ProviderEvent event , Consumer <EventDetails > handler ) {
378
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
389
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
390
+ try (autoCloseableLock ) {
379
391
this .eventSupport .addGlobalHandler (event , handler );
380
392
return this ;
381
393
}
@@ -391,13 +403,15 @@ public OpenFeatureAPI removeHandler(ProviderEvent event, Consumer<EventDetails>
391
403
}
392
404
393
405
void removeHandler (String domain , ProviderEvent event , Consumer <EventDetails > handler ) {
394
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
406
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
407
+ try (autoCloseableLock ) {
395
408
eventSupport .removeClientHandler (domain , event , handler );
396
409
}
397
410
}
398
411
399
412
void addHandler (String domain , ProviderEvent event , Consumer <EventDetails > handler ) {
400
- try (AutoCloseableLock __ = lock .writeLockAutoCloseable ()) {
413
+ var autoCloseableLock = lock .writeLockAutoCloseable ();
414
+ try (autoCloseableLock ) {
401
415
// if the provider is in the state associated with event, run immediately
402
416
if (Optional .ofNullable (this .providerRepository .getProviderState (domain ))
403
417
.orElse (ProviderState .READY )
@@ -421,7 +435,8 @@ FeatureProviderStateManager getFeatureProviderStateManager(String domain) {
421
435
* @param details the event details
422
436
*/
423
437
private void runHandlersForProvider (FeatureProvider provider , ProviderEvent event , ProviderEventDetails details ) {
424
- try (AutoCloseableLock __ = lock .readLockAutoCloseable ()) {
438
+ var autoCloseableLock = lock .readLockAutoCloseable ();
439
+ try (autoCloseableLock ) {
425
440
426
441
List <String > domainsForProvider = providerRepository .getDomainsForProvider (provider );
427
442
0 commit comments