Skip to content

Commit f10d872

Browse files
authored
chore: fix pmd violations (#856)
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
1 parent a560308 commit f10d872

File tree

8 files changed

+814
-63
lines changed

8 files changed

+814
-63
lines changed

providers/env-var/src/main/java/dev/openfeature/contrib/providers/envvar/EnvironmentKeyTransformer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public static EnvironmentKeyTransformer replaceDotWithUnderscoreTransformer() {
101101

102102
public static EnvironmentKeyTransformer hyphenCaseToScreamingSnake() {
103103
return new EnvironmentKeyTransformer(REPLACE_HYPHEN_WITH_UNDERSCORE)
104-
.andThen(EnvironmentKeyTransformer.toUpperCaseTransformer());
104+
.andThen(toUpperCaseTransformer());
105105
}
106106

107107
public static EnvironmentKeyTransformer doNothing() {

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java

Lines changed: 22 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,6 @@
55
import lombok.Builder;
66
import lombok.Getter;
77

8-
import static dev.openfeature.contrib.providers.flagd.Config.BASE_EVENT_STREAM_RETRY_BACKOFF_MS;
9-
import static dev.openfeature.contrib.providers.flagd.Config.BASE_EVENT_STREAM_RETRY_BACKOFF_MS_ENV_VAR_NAME;
10-
import static dev.openfeature.contrib.providers.flagd.Config.CACHE_ENV_VAR_NAME;
11-
import static dev.openfeature.contrib.providers.flagd.Config.DEADLINE_MS_ENV_VAR_NAME;
12-
import static dev.openfeature.contrib.providers.flagd.Config.DEFAULT_CACHE;
13-
import static dev.openfeature.contrib.providers.flagd.Config.DEFAULT_DEADLINE;
14-
import static dev.openfeature.contrib.providers.flagd.Config.DEFAULT_HOST;
15-
import static dev.openfeature.contrib.providers.flagd.Config.DEFAULT_MAX_CACHE_SIZE;
16-
import static dev.openfeature.contrib.providers.flagd.Config.DEFAULT_MAX_EVENT_STREAM_RETRIES;
17-
import static dev.openfeature.contrib.providers.flagd.Config.DEFAULT_TLS;
18-
import static dev.openfeature.contrib.providers.flagd.Config.HOST_ENV_VAR_NAME;
19-
import static dev.openfeature.contrib.providers.flagd.Config.MAX_CACHE_SIZE_ENV_VAR_NAME;
20-
import static dev.openfeature.contrib.providers.flagd.Config.MAX_EVENT_STREAM_RETRIES_ENV_VAR_NAME;
21-
import static dev.openfeature.contrib.providers.flagd.Config.OFFLINE_SOURCE_PATH;
22-
import static dev.openfeature.contrib.providers.flagd.Config.PORT_ENV_VAR_NAME;
23-
import static dev.openfeature.contrib.providers.flagd.Config.SERVER_CERT_PATH_ENV_VAR_NAME;
24-
import static dev.openfeature.contrib.providers.flagd.Config.SOCKET_PATH_ENV_VAR_NAME;
25-
import static dev.openfeature.contrib.providers.flagd.Config.SOURCE_SELECTOR_ENV_VAR_NAME;
26-
import static dev.openfeature.contrib.providers.flagd.Config.TLS_ENV_VAR_NAME;
278
import static dev.openfeature.contrib.providers.flagd.Config.fallBackToEnvOrDefault;
289
import static dev.openfeature.contrib.providers.flagd.Config.fromValueProvider;
2910

@@ -44,7 +25,7 @@ public class FlagdOptions {
4425
* flagd connection host.
4526
*/
4627
@Builder.Default
47-
private String host = fallBackToEnvOrDefault(HOST_ENV_VAR_NAME, DEFAULT_HOST);
28+
private String host = fallBackToEnvOrDefault(Config.HOST_ENV_VAR_NAME, Config.DEFAULT_HOST);
4829

4930
/**
5031
* flagd connection port.
@@ -55,75 +36,76 @@ public class FlagdOptions {
5536
* Use TLS connectivity.
5637
*/
5738
@Builder.Default
58-
private boolean tls = Boolean.parseBoolean(fallBackToEnvOrDefault(TLS_ENV_VAR_NAME, DEFAULT_TLS));
39+
private boolean tls = Boolean.parseBoolean(fallBackToEnvOrDefault(Config.TLS_ENV_VAR_NAME, Config.DEFAULT_TLS));
5940

6041
/**
6142
* TLS certificate overriding if TLS connectivity is used.
6243
*/
6344
@Builder.Default
64-
private String certPath = fallBackToEnvOrDefault(SERVER_CERT_PATH_ENV_VAR_NAME, null);
45+
private String certPath = fallBackToEnvOrDefault(Config.SERVER_CERT_PATH_ENV_VAR_NAME, null);
6546

6647
/**
6748
* Unix socket path to flagd.
6849
*/
6950
@Builder.Default
70-
private String socketPath = fallBackToEnvOrDefault(SOCKET_PATH_ENV_VAR_NAME, null);
51+
private String socketPath = fallBackToEnvOrDefault(Config.SOCKET_PATH_ENV_VAR_NAME, null);
7152

7253
/**
7354
* Cache type to use. Supports - lru, disabled.
7455
*/
7556
@Builder.Default
76-
private String cacheType = fallBackToEnvOrDefault(CACHE_ENV_VAR_NAME, DEFAULT_CACHE);
57+
private String cacheType = fallBackToEnvOrDefault(Config.CACHE_ENV_VAR_NAME, Config.DEFAULT_CACHE);
7758

7859
/**
7960
* Max cache size.
8061
*/
8162
@Builder.Default
82-
private int maxCacheSize = fallBackToEnvOrDefault(MAX_CACHE_SIZE_ENV_VAR_NAME, DEFAULT_MAX_CACHE_SIZE);
63+
private int maxCacheSize = fallBackToEnvOrDefault(Config.MAX_CACHE_SIZE_ENV_VAR_NAME,
64+
Config.DEFAULT_MAX_CACHE_SIZE);
8365

8466
/**
8567
* Max event stream connection retries.
8668
*/
8769
@Builder.Default
88-
private int maxEventStreamRetries =
89-
fallBackToEnvOrDefault(MAX_EVENT_STREAM_RETRIES_ENV_VAR_NAME, DEFAULT_MAX_EVENT_STREAM_RETRIES);
70+
private int maxEventStreamRetries = fallBackToEnvOrDefault(Config.MAX_EVENT_STREAM_RETRIES_ENV_VAR_NAME,
71+
Config.DEFAULT_MAX_EVENT_STREAM_RETRIES);
9072

9173
/**
9274
* Backoff interval in milliseconds.
9375
*/
9476
@Builder.Default
95-
private int retryBackoffMs =
96-
fallBackToEnvOrDefault(BASE_EVENT_STREAM_RETRY_BACKOFF_MS_ENV_VAR_NAME, BASE_EVENT_STREAM_RETRY_BACKOFF_MS);
97-
77+
private int retryBackoffMs = fallBackToEnvOrDefault(Config.BASE_EVENT_STREAM_RETRY_BACKOFF_MS_ENV_VAR_NAME,
78+
Config.BASE_EVENT_STREAM_RETRY_BACKOFF_MS);
9879

9980
/**
10081
* Connection deadline in milliseconds.
101-
* For RPC resolving, this is the deadline to connect to flagd for flag evaluation.
82+
* For RPC resolving, this is the deadline to connect to flagd for flag
83+
* evaluation.
10284
* For in-process resolving, this is the deadline for sync stream termination.
10385
*/
10486
@Builder.Default
105-
private int deadline = fallBackToEnvOrDefault(DEADLINE_MS_ENV_VAR_NAME, DEFAULT_DEADLINE);
87+
private int deadline = fallBackToEnvOrDefault(Config.DEADLINE_MS_ENV_VAR_NAME, Config.DEFAULT_DEADLINE);
10688

10789
/**
10890
* Selector to be used with flag sync gRPC contract.
10991
**/
11092
@Builder.Default
111-
private String selector = fallBackToEnvOrDefault(SOURCE_SELECTOR_ENV_VAR_NAME, null);
93+
private String selector = fallBackToEnvOrDefault(Config.SOURCE_SELECTOR_ENV_VAR_NAME, null);
11294

11395
/**
11496
* File source of flags to be used by offline mode.
11597
* Setting this enables the offline mode of the in-process provider.
11698
*/
11799
@Builder.Default
118-
private String offlineFlagSourcePath = fallBackToEnvOrDefault(OFFLINE_SOURCE_PATH, null);
100+
private String offlineFlagSourcePath = fallBackToEnvOrDefault(Config.OFFLINE_SOURCE_PATH, null);
119101

120102
/**
121-
* Inject OpenTelemetry for the library runtime. Providing sdk will initiate distributed tracing for flagd grpc
103+
* Inject OpenTelemetry for the library runtime. Providing sdk will initiate
104+
* distributed tracing for flagd grpc
122105
* connectivity.
123106
*/
124107
private OpenTelemetry openTelemetry;
125108

126-
127109
/**
128110
* Builder overwrite in order to customize the "build" method.
129111
*
@@ -144,7 +126,8 @@ public FlagdOptions build() {
144126
*/
145127
public static class FlagdOptionsBuilder {
146128
/**
147-
* Enable OpenTelemetry instance extraction from GlobalOpenTelemetry. Note that, this is only useful if global
129+
* Enable OpenTelemetry instance extraction from GlobalOpenTelemetry. Note that,
130+
* this is only useful if global
148131
* configurations are registered.
149132
*/
150133
public FlagdOptionsBuilder withGlobalTelemetry(final boolean b) {
@@ -160,7 +143,8 @@ void prebuild() {
160143
}
161144

162145
if (port == 0) {
163-
port = Integer.parseInt(fallBackToEnvOrDefault(PORT_ENV_VAR_NAME, determineDefaultPortForResolver()));
146+
port = Integer
147+
.parseInt(fallBackToEnvOrDefault(Config.PORT_ENV_VAR_NAME, determineDefaultPortForResolver()));
164148
}
165149
}
166150

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/grpc/GrpcResolver.java

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
package dev.openfeature.contrib.providers.flagd.resolver.grpc;
22

3-
import static dev.openfeature.contrib.providers.flagd.Config.CACHED_REASON;
4-
import static dev.openfeature.contrib.providers.flagd.Config.CONTEXT_FIELD;
5-
import static dev.openfeature.contrib.providers.flagd.Config.FLAG_KEY_FIELD;
6-
import static dev.openfeature.contrib.providers.flagd.Config.METADATA_FIELD;
7-
import static dev.openfeature.contrib.providers.flagd.Config.REASON_FIELD;
8-
import static dev.openfeature.contrib.providers.flagd.Config.STATIC_REASON;
9-
import static dev.openfeature.contrib.providers.flagd.Config.VALUE_FIELD;
10-
import static dev.openfeature.contrib.providers.flagd.Config.VARIANT_FIELD;
3+
import dev.openfeature.contrib.providers.flagd.Config;
114

125
import java.util.HashMap;
136
import java.util.List;
@@ -157,15 +150,15 @@ private <ValT, ReqT extends Message, ResT extends Message> ProviderEvaluation<Va
157150
if (this.cacheAvailable()) {
158151
ProviderEvaluation<? extends Object> fromCache = this.cache.get(key);
159152
if (fromCache != null) {
160-
fromCache.setReason(CACHED_REASON);
153+
fromCache.setReason(Config.CACHED_REASON);
161154
return (ProviderEvaluation<ValT>) fromCache;
162155
}
163156
}
164157

165158
// build the gRPC request
166159
Message req = request.newBuilderForType()
167-
.setField(getFieldDescriptor(request, FLAG_KEY_FIELD), key)
168-
.setField(getFieldDescriptor(request, CONTEXT_FIELD), convertContext(ctx))
160+
.setField(getFieldDescriptor(request, Config.FLAG_KEY_FIELD), key)
161+
.setField(getFieldDescriptor(request, Config.CONTEXT_FIELD), convertContext(ctx))
169162
.build();
170163

171164
final Message response;
@@ -178,16 +171,16 @@ private <ValT, ReqT extends Message, ResT extends Message> ProviderEvaluation<Va
178171
}
179172

180173
// parse the response
181-
ValT value = converter == null ? getField(response, VALUE_FIELD)
182-
: converter.convert(getField(response, VALUE_FIELD));
174+
ValT value = converter == null ? getField(response, Config.VALUE_FIELD)
175+
: converter.convert(getField(response, Config.VALUE_FIELD));
183176

184177
// Extract metadata from response
185178
ImmutableMetadata immutableMetadata = metadataFromResponse(response);
186179

187180
ProviderEvaluation<ValT> result = ProviderEvaluation.<ValT>builder()
188181
.value(value)
189-
.variant(getField(response, VARIANT_FIELD))
190-
.reason(getField(response, REASON_FIELD))
182+
.variant(getField(response, Config.VARIANT_FIELD))
183+
.reason(getField(response, Config.REASON_FIELD))
191184
.flagMetadata(immutableMetadata)
192185
.build();
193186

@@ -202,7 +195,7 @@ private <ValT, ReqT extends Message, ResT extends Message> ProviderEvaluation<Va
202195
private <T> Boolean isEvaluationCacheable(ProviderEvaluation<T> evaluation) {
203196
String reason = evaluation.getReason();
204197

205-
return reason != null && reason.equals(STATIC_REASON) && this.cacheAvailable();
198+
return reason != null && reason.equals(Config.STATIC_REASON) && this.cacheAvailable();
206199
}
207200

208201
private Boolean cacheAvailable() {
@@ -221,7 +214,8 @@ private static Value convertObjectResponse(Struct protobuf) {
221214
*/
222215
private static Struct convertContext(EvaluationContext ctx) {
223216
Map<String, Value> ctxMap = ctx.asMap();
224-
// asMap() does not provide explicitly set targeting key (ex:- new ImmutableContext("TargetingKey") ).
217+
// asMap() does not provide explicitly set targeting key (ex:- new
218+
// ImmutableContext("TargetingKey") ).
225219
// Hence, we add this explicitly here for targeting rule processing.
226220
ctxMap.put("targetingKey", new Value(ctx.getTargetingKey()));
227221

@@ -348,7 +342,7 @@ private static Descriptors.FieldDescriptor getFieldDescriptor(Message message, S
348342
}
349343

350344
private static ImmutableMetadata metadataFromResponse(Message response) {
351-
final Object metadata = response.getField(getFieldDescriptor(response, METADATA_FIELD));
345+
final Object metadata = response.getField(getFieldDescriptor(response, Config.METADATA_FIELD));
352346

353347
if (!(metadata instanceof Struct)) {
354348
return ImmutableMetadata.builder().build();
@@ -373,7 +367,7 @@ private static ImmutableMetadata metadataFromResponse(Message response) {
373367

374368
private OpenFeatureError mapError(Exception e) {
375369
if (e instanceof StatusRuntimeException) {
376-
Code code = ((StatusRuntimeException)e).getStatus().getCode();
370+
Code code = ((StatusRuntimeException) e).getStatus().getCode();
377371
switch (code) {
378372
case DATA_LOSS:
379373
return new ParseError(e.getMessage());

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/grpc/strategy/TracedResolving.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
/**
1414
* {@link TracedResolving} a request to response resolver with tracing for telemetry.
1515
*/
16+
@SuppressWarnings("PMD.UnusedLocalVariable")
1617
public class TracedResolving implements ResolveStrategy {
1718

1819
private final Tracer tracer;

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/targeting/Fractional.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,10 @@ public Object evaluate(List arguments, Object data) throws JsonLogicEvaluationEx
7070
private static String distributeValue(
7171
final String hashKey,
7272
final List<FractionProperty> propertyList,
73-
int totalWeight
74-
) throws JsonLogicEvaluationException {
73+
int totalWeight) throws JsonLogicEvaluationException {
7574
byte[] bytes = hashKey.getBytes(StandardCharsets.UTF_8);
7675
int mmrHash = MurmurHash3.hash32x86(bytes, 0, bytes.length, 0);
77-
float bucket = (Math.abs(mmrHash) * 1.0f / Integer.MAX_VALUE) * 100;
76+
float bucket = Math.abs(mmrHash) * 1.0f / Integer.MAX_VALUE * 100;
7877

7978
float bucketSum = 0;
8079
for (FractionProperty p : propertyList) {
@@ -90,7 +89,7 @@ private static String distributeValue(
9089
}
9190

9291
@Getter
93-
@SuppressWarnings({"checkstyle:NoFinalizer"})
92+
@SuppressWarnings({ "checkstyle:NoFinalizer" })
9493
private static class FractionProperty {
9594
private final String variant;
9695
private final int weight;

0 commit comments

Comments
 (0)