Skip to content

Commit 96afc3f

Browse files
committed
Introduce specialized interfaces in PropertiesConfigAdapter
Closes gh-47226
1 parent 0e396ef commit 96afc3f

19 files changed

+148
-131
lines changed

module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/appoptics/AppOpticsPropertiesConfigAdapter.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,23 +40,22 @@ public String prefix() {
4040

4141
@Override
4242
public String uri() {
43-
return getRequired(AppOpticsProperties::getUri, AppOpticsConfig.super::uri);
43+
return obtain(AppOpticsProperties::getUri, AppOpticsConfig.super::uri);
4444
}
4545

4646
@Override
4747
public String apiToken() {
48-
return getRequired(AppOpticsProperties::getApiToken, AppOpticsConfig.super::apiToken);
48+
return obtain(AppOpticsProperties::getApiToken, AppOpticsConfig.super::apiToken);
4949
}
5050

5151
@Override
52-
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
5352
public @Nullable String hostTag() {
5453
return get(AppOpticsProperties::getHostTag, AppOpticsConfig.super::hostTag);
5554
}
5655

5756
@Override
5857
public boolean floorTimes() {
59-
return getRequired(AppOpticsProperties::isFloorTimes, AppOpticsConfig.super::floorTimes);
58+
return obtain(AppOpticsProperties::isFloorTimes, AppOpticsConfig.super::floorTimes);
6059
}
6160

6261
}

module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/atlas/AtlasPropertiesConfigAdapter.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,77 +42,77 @@ class AtlasPropertiesConfigAdapter extends PropertiesConfigAdapter<AtlasProperti
4242

4343
@Override
4444
public Duration step() {
45-
return getRequired(AtlasProperties::getStep, AtlasConfig.super::step);
45+
return obtain(AtlasProperties::getStep, AtlasConfig.super::step);
4646
}
4747

4848
@Override
4949
public boolean enabled() {
50-
return getRequired(AtlasProperties::isEnabled, AtlasConfig.super::enabled);
50+
return obtain(AtlasProperties::isEnabled, AtlasConfig.super::enabled);
5151
}
5252

5353
@Override
5454
public Duration connectTimeout() {
55-
return getRequired(AtlasProperties::getConnectTimeout, AtlasConfig.super::connectTimeout);
55+
return obtain(AtlasProperties::getConnectTimeout, AtlasConfig.super::connectTimeout);
5656
}
5757

5858
@Override
5959
public Duration readTimeout() {
60-
return getRequired(AtlasProperties::getReadTimeout, AtlasConfig.super::readTimeout);
60+
return obtain(AtlasProperties::getReadTimeout, AtlasConfig.super::readTimeout);
6161
}
6262

6363
@Override
6464
public int numThreads() {
65-
return getRequired(AtlasProperties::getNumThreads, AtlasConfig.super::numThreads);
65+
return obtain(AtlasProperties::getNumThreads, AtlasConfig.super::numThreads);
6666
}
6767

6868
@Override
6969
public int batchSize() {
70-
return getRequired(AtlasProperties::getBatchSize, AtlasConfig.super::batchSize);
70+
return obtain(AtlasProperties::getBatchSize, AtlasConfig.super::batchSize);
7171
}
7272

7373
@Override
7474
public String uri() {
75-
return getRequired(AtlasProperties::getUri, AtlasConfig.super::uri);
75+
return obtain(AtlasProperties::getUri, AtlasConfig.super::uri);
7676
}
7777

7878
@Override
7979
public Duration meterTTL() {
80-
return getRequired(AtlasProperties::getMeterTimeToLive, AtlasConfig.super::meterTTL);
80+
return obtain(AtlasProperties::getMeterTimeToLive, AtlasConfig.super::meterTTL);
8181
}
8282

8383
@Override
8484
public boolean lwcEnabled() {
85-
return getRequired(AtlasProperties::isLwcEnabled, AtlasConfig.super::lwcEnabled);
85+
return obtain(AtlasProperties::isLwcEnabled, AtlasConfig.super::lwcEnabled);
8686
}
8787

8888
@Override
8989
public Duration lwcStep() {
90-
return getRequired(AtlasProperties::getLwcStep, AtlasConfig.super::lwcStep);
90+
return obtain(AtlasProperties::getLwcStep, AtlasConfig.super::lwcStep);
9191
}
9292

9393
@Override
9494
public boolean lwcIgnorePublishStep() {
95-
return getRequired(AtlasProperties::isLwcIgnorePublishStep, AtlasConfig.super::lwcIgnorePublishStep);
95+
return obtain(AtlasProperties::isLwcIgnorePublishStep, AtlasConfig.super::lwcIgnorePublishStep);
9696
}
9797

9898
@Override
9999
public Duration configRefreshFrequency() {
100-
return getRequired(AtlasProperties::getConfigRefreshFrequency, AtlasConfig.super::configRefreshFrequency);
100+
return obtain(AtlasProperties::getConfigRefreshFrequency, AtlasConfig.super::configRefreshFrequency);
101101
}
102102

103103
@Override
104104
public Duration configTTL() {
105-
return getRequired(AtlasProperties::getConfigTimeToLive, AtlasConfig.super::configTTL);
105+
return obtain(AtlasProperties::getConfigTimeToLive, AtlasConfig.super::configTTL);
106106
}
107107

108108
@Override
109109
public String configUri() {
110-
return getRequired(AtlasProperties::getConfigUri, AtlasConfig.super::configUri);
110+
return obtain(AtlasProperties::getConfigUri, AtlasConfig.super::configUri);
111111
}
112112

113113
@Override
114114
public String evalUri() {
115-
return getRequired(AtlasProperties::getEvalUri, AtlasConfig.super::evalUri);
115+
return obtain(AtlasProperties::getEvalUri, AtlasConfig.super::evalUri);
116116
}
117117

118118
}

module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/datadog/DatadogPropertiesConfigAdapter.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,29 +41,27 @@ public String prefix() {
4141

4242
@Override
4343
public String apiKey() {
44-
return getRequired(DatadogProperties::getApiKey, DatadogConfig.super::apiKey);
44+
return obtain(DatadogProperties::getApiKey, DatadogConfig.super::apiKey);
4545
}
4646

4747
@Override
48-
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
4948
public @Nullable String applicationKey() {
5049
return get(DatadogProperties::getApplicationKey, DatadogConfig.super::applicationKey);
5150
}
5251

5352
@Override
54-
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
5553
public @Nullable String hostTag() {
5654
return get(DatadogProperties::getHostTag, DatadogConfig.super::hostTag);
5755
}
5856

5957
@Override
6058
public String uri() {
61-
return getRequired(DatadogProperties::getUri, DatadogConfig.super::uri);
59+
return obtain(DatadogProperties::getUri, DatadogConfig.super::uri);
6260
}
6361

6462
@Override
6563
public boolean descriptions() {
66-
return getRequired(DatadogProperties::isDescriptions, DatadogConfig.super::descriptions);
64+
return obtain(DatadogProperties::isDescriptions, DatadogConfig.super::descriptions);
6765
}
6866

6967
}

module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/dynatrace/DynatracePropertiesConfigAdapter.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,60 +46,58 @@ public String prefix() {
4646

4747
@Override
4848
public String apiToken() {
49-
return getRequired(DynatraceProperties::getApiToken, DynatraceConfig.super::apiToken);
49+
return obtain(DynatraceProperties::getApiToken, DynatraceConfig.super::apiToken);
5050
}
5151

5252
@Override
5353
public String deviceId() {
54-
return getRequired(v1(V1::getDeviceId), DynatraceConfig.super::deviceId);
54+
return obtain(v1(V1::getDeviceId), DynatraceConfig.super::deviceId);
5555
}
5656

5757
@Override
5858
public String technologyType() {
59-
return getRequired(v1(V1::getTechnologyType), DynatraceConfig.super::technologyType);
59+
return obtain(v1(V1::getTechnologyType), DynatraceConfig.super::technologyType);
6060
}
6161

6262
@Override
6363
public String uri() {
64-
return getRequired(DynatraceProperties::getUri, DynatraceConfig.super::uri);
64+
return obtain(DynatraceProperties::getUri, DynatraceConfig.super::uri);
6565
}
6666

6767
@Override
68-
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
6968
public @Nullable String group() {
7069
return get(v1(V1::getGroup), DynatraceConfig.super::group);
7170
}
7271

7372
@Override
7473
public DynatraceApiVersion apiVersion() {
75-
return getRequired((properties) -> (properties.getV1().getDeviceId() != null) ? DynatraceApiVersion.V1
74+
return obtain((properties) -> (properties.getV1().getDeviceId() != null) ? DynatraceApiVersion.V1
7675
: DynatraceApiVersion.V2, DynatraceConfig.super::apiVersion);
7776
}
7877

7978
@Override
8079
public String metricKeyPrefix() {
81-
return getRequired(v2(V2::getMetricKeyPrefix), DynatraceConfig.super::metricKeyPrefix);
80+
return obtain(v2(V2::getMetricKeyPrefix), DynatraceConfig.super::metricKeyPrefix);
8281
}
8382

8483
@Override
8584
public Map<String, String> defaultDimensions() {
86-
return getRequired(v2(V2::getDefaultDimensions), DynatraceConfig.super::defaultDimensions);
85+
return obtain(v2(V2::getDefaultDimensions), DynatraceConfig.super::defaultDimensions);
8786
}
8887

8988
@Override
9089
public boolean enrichWithDynatraceMetadata() {
91-
return getRequired(v2(V2::isEnrichWithDynatraceMetadata), DynatraceConfig.super::enrichWithDynatraceMetadata);
90+
return obtain(v2(V2::isEnrichWithDynatraceMetadata), DynatraceConfig.super::enrichWithDynatraceMetadata);
9291
}
9392

9493
@Override
9594
public boolean useDynatraceSummaryInstruments() {
96-
return getRequired(v2(V2::isUseDynatraceSummaryInstruments),
97-
DynatraceConfig.super::useDynatraceSummaryInstruments);
95+
return obtain(v2(V2::isUseDynatraceSummaryInstruments), DynatraceConfig.super::useDynatraceSummaryInstruments);
9896
}
9997

10098
@Override
10199
public boolean exportMeterMetadata() {
102-
return getRequired(v2(V2::isExportMeterMetadata), DynatraceConfig.super::exportMeterMetadata);
100+
return obtain(v2(V2::isExportMeterMetadata), DynatraceConfig.super::exportMeterMetadata);
103101
}
104102

105103
private <V> Getter<DynatraceProperties, V> v1(Getter<V1, V> getter) {

module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/elastic/ElasticPropertiesConfigAdapter.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,61 +40,57 @@ public String prefix() {
4040

4141
@Override
4242
public String host() {
43-
return getRequired(ElasticProperties::getHost, ElasticConfig.super::host);
43+
return obtain(ElasticProperties::getHost, ElasticConfig.super::host);
4444
}
4545

4646
@Override
4747
public String index() {
48-
return getRequired(ElasticProperties::getIndex, ElasticConfig.super::index);
48+
return obtain(ElasticProperties::getIndex, ElasticConfig.super::index);
4949
}
5050

5151
@Override
5252
public String indexDateFormat() {
53-
return getRequired(ElasticProperties::getIndexDateFormat, ElasticConfig.super::indexDateFormat);
53+
return obtain(ElasticProperties::getIndexDateFormat, ElasticConfig.super::indexDateFormat);
5454
}
5555

5656
@Override
5757
public String indexDateSeparator() {
58-
return getRequired(ElasticProperties::getIndexDateSeparator, ElasticConfig.super::indexDateSeparator);
58+
return obtain(ElasticProperties::getIndexDateSeparator, ElasticConfig.super::indexDateSeparator);
5959
}
6060

6161
@Override
6262
public String timestampFieldName() {
63-
return getRequired(ElasticProperties::getTimestampFieldName, ElasticConfig.super::timestampFieldName);
63+
return obtain(ElasticProperties::getTimestampFieldName, ElasticConfig.super::timestampFieldName);
6464
}
6565

6666
@Override
6767
public boolean autoCreateIndex() {
68-
return getRequired(ElasticProperties::isAutoCreateIndex, ElasticConfig.super::autoCreateIndex);
68+
return obtain(ElasticProperties::isAutoCreateIndex, ElasticConfig.super::autoCreateIndex);
6969
}
7070

7171
@Override
72-
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
7372
public @Nullable String userName() {
7473
return get(ElasticProperties::getUserName, ElasticConfig.super::userName);
7574
}
7675

7776
@Override
78-
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
7977
public @Nullable String password() {
8078
return get(ElasticProperties::getPassword, ElasticConfig.super::password);
8179
}
8280

8381
@Override
84-
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
8582
public @Nullable String pipeline() {
8683
return get(ElasticProperties::getPipeline, ElasticConfig.super::pipeline);
8784
}
8885

8986
@Override
90-
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
9187
public @Nullable String apiKeyCredentials() {
9288
return get(ElasticProperties::getApiKeyCredentials, ElasticConfig.super::apiKeyCredentials);
9389
}
9490

9591
@Override
9692
public boolean enableSource() {
97-
return getRequired(ElasticProperties::isEnableSource, ElasticConfig.super::enableSource);
93+
return obtain(ElasticProperties::isEnableSource, ElasticConfig.super::enableSource);
9894
}
9995

10096
}

module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/ganglia/GangliaPropertiesConfigAdapter.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,37 +49,37 @@ public String prefix() {
4949

5050
@Override
5151
public boolean enabled() {
52-
return getRequired(GangliaProperties::isEnabled, GangliaConfig.super::enabled);
52+
return obtain(GangliaProperties::isEnabled, GangliaConfig.super::enabled);
5353
}
5454

5555
@Override
5656
public Duration step() {
57-
return getRequired(GangliaProperties::getStep, GangliaConfig.super::step);
57+
return obtain(GangliaProperties::getStep, GangliaConfig.super::step);
5858
}
5959

6060
@Override
6161
public TimeUnit durationUnits() {
62-
return getRequired(GangliaProperties::getDurationUnits, GangliaConfig.super::durationUnits);
62+
return obtain(GangliaProperties::getDurationUnits, GangliaConfig.super::durationUnits);
6363
}
6464

6565
@Override
6666
public GMetric.UDPAddressingMode addressingMode() {
67-
return getRequired(GangliaProperties::getAddressingMode, GangliaConfig.super::addressingMode);
67+
return obtain(GangliaProperties::getAddressingMode, GangliaConfig.super::addressingMode);
6868
}
6969

7070
@Override
7171
public int ttl() {
72-
return getRequired(GangliaProperties::getTimeToLive, GangliaConfig.super::ttl);
72+
return obtain(GangliaProperties::getTimeToLive, GangliaConfig.super::ttl);
7373
}
7474

7575
@Override
7676
public String host() {
77-
return getRequired(GangliaProperties::getHost, GangliaConfig.super::host);
77+
return obtain(GangliaProperties::getHost, GangliaConfig.super::host);
7878
}
7979

8080
@Override
8181
public int port() {
82-
return getRequired(GangliaProperties::getPort, GangliaConfig.super::port);
82+
return obtain(GangliaProperties::getPort, GangliaConfig.super::port);
8383
}
8484

8585
}

module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/graphite/GraphitePropertiesConfigAdapter.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,47 +49,47 @@ public String prefix() {
4949

5050
@Override
5151
public boolean enabled() {
52-
return getRequired(GraphiteProperties::isEnabled, GraphiteConfig.super::enabled);
52+
return obtain(GraphiteProperties::isEnabled, GraphiteConfig.super::enabled);
5353
}
5454

5555
@Override
5656
public Duration step() {
57-
return getRequired(GraphiteProperties::getStep, GraphiteConfig.super::step);
57+
return obtain(GraphiteProperties::getStep, GraphiteConfig.super::step);
5858
}
5959

6060
@Override
6161
public TimeUnit rateUnits() {
62-
return getRequired(GraphiteProperties::getRateUnits, GraphiteConfig.super::rateUnits);
62+
return obtain(GraphiteProperties::getRateUnits, GraphiteConfig.super::rateUnits);
6363
}
6464

6565
@Override
6666
public TimeUnit durationUnits() {
67-
return getRequired(GraphiteProperties::getDurationUnits, GraphiteConfig.super::durationUnits);
67+
return obtain(GraphiteProperties::getDurationUnits, GraphiteConfig.super::durationUnits);
6868
}
6969

7070
@Override
7171
public String host() {
72-
return getRequired(GraphiteProperties::getHost, GraphiteConfig.super::host);
72+
return obtain(GraphiteProperties::getHost, GraphiteConfig.super::host);
7373
}
7474

7575
@Override
7676
public int port() {
77-
return getRequired(GraphiteProperties::getPort, GraphiteConfig.super::port);
77+
return obtain(GraphiteProperties::getPort, GraphiteConfig.super::port);
7878
}
7979

8080
@Override
8181
public GraphiteProtocol protocol() {
82-
return getRequired(GraphiteProperties::getProtocol, GraphiteConfig.super::protocol);
82+
return obtain(GraphiteProperties::getProtocol, GraphiteConfig.super::protocol);
8383
}
8484

8585
@Override
8686
public boolean graphiteTagsEnabled() {
87-
return getRequired(GraphiteProperties::getGraphiteTagsEnabled, GraphiteConfig.super::graphiteTagsEnabled);
87+
return obtain(GraphiteProperties::getGraphiteTagsEnabled, GraphiteConfig.super::graphiteTagsEnabled);
8888
}
8989

9090
@Override
9191
public String[] tagsAsPrefix() {
92-
return getRequired(GraphiteProperties::getTagsAsPrefix, GraphiteConfig.super::tagsAsPrefix);
92+
return obtain(GraphiteProperties::getTagsAsPrefix, GraphiteConfig.super::tagsAsPrefix);
9393
}
9494

9595
}

0 commit comments

Comments
 (0)