From 8cefd76b8b730e04d6ec23d0265ae5d2247662d7 Mon Sep 17 00:00:00 2001 From: Tomas Langer Date: Fri, 11 Aug 2023 11:24:19 +0200 Subject: [PATCH] Use common config (#7336) Do not use Config.create() in Helidon modules --- .../src/main/java/io/helidon/common/config/Config.java | 10 ++++++++++ .../java/io/helidon/common/config/EmptyConfig.java | 5 +++++ .../config/src/main/java/io/helidon/config/Config.java | 7 +++++++ .../main/java/io/helidon/config/ConfigProducer.java | 5 +++++ .../io/helidon/dbclient/metrics/MetricBuilderBase.java | 2 +- .../microstream/metrics/MicrostreamMetricsSupport.java | 5 +++-- .../io/helidon/lra/coordinator/CoordinatorService.java | 5 ++--- .../src/main/java/io/helidon/lra/coordinator/Main.java | 6 ++++-- .../helidon/messaging/connectors/aq/AqConnector.java | 7 ++++--- metrics/api/pom.xml | 4 ++-- .../io/helidon/metrics/api/BaseMetricsSettings.java | 2 +- .../helidon/metrics/api/BaseMetricsSettingsImpl.java | 5 +++-- .../helidon/metrics/api/ComponentMetricsSettings.java | 2 +- .../metrics/api/ComponentMetricsSettingsImpl.java | 5 +++-- .../api/KeyPerformanceIndicatorMetricsSettings.java | 2 +- .../KeyPerformanceIndicatorMetricsSettingsImpl.java | 5 +++-- .../java/io/helidon/metrics/api/MetricsSettings.java | 6 +++--- .../io/helidon/metrics/api/MetricsSettingsImpl.java | 8 ++++---- .../java/io/helidon/metrics/api/RegistryFactory.java | 4 ++-- .../io/helidon/metrics/api/RegistryFactoryManager.java | 7 +------ .../io/helidon/metrics/api/RegistryFilterSettings.java | 5 +++-- .../metrics/api/RegistryFilterSettingsImpl.java | 5 +++-- .../java/io/helidon/metrics/api/RegistrySettings.java | 4 ++-- .../io/helidon/metrics/api/RegistrySettingsImpl.java | 4 ++-- metrics/api/src/main/java/module-info.java | 2 +- .../java/io/helidon/metrics/api/TestGlobalTags.java | 6 ++++-- .../main/java/io/helidon/metrics/RegistryFactory.java | 2 +- metrics/metrics/src/main/java/module-info.java | 1 + 28 files changed, 82 insertions(+), 49 deletions(-) diff --git a/common/config/src/main/java/io/helidon/common/config/Config.java b/common/config/src/main/java/io/helidon/common/config/Config.java index bbc1e8ad4c0..85cb9ee3f37 100644 --- a/common/config/src/main/java/io/helidon/common/config/Config.java +++ b/common/config/src/main/java/io/helidon/common/config/Config.java @@ -233,6 +233,16 @@ default Config get(Key key) { */ ConfigValue> asList(Class type) throws ConfigException; + /** + * Returns this node as a list mapping each list value using the provided mapper. + * + * @param mapper mapper to convert each list node into a typed value + * @param type of list elements + * @return a typed list with values + * @throws io.helidon.common.config.ConfigException in case the mapper fails to map the values + */ + ConfigValue> mapList(Function mapper) throws ConfigException; + /** * Returns a list of child {@code Config} nodes if the node is {@code Type#OBJECT}. * Returns a list of element nodes if the node is {@code Type#LIST}. diff --git a/common/config/src/main/java/io/helidon/common/config/EmptyConfig.java b/common/config/src/main/java/io/helidon/common/config/EmptyConfig.java index 3cdd5fa09ab..c5681f51eab 100644 --- a/common/config/src/main/java/io/helidon/common/config/EmptyConfig.java +++ b/common/config/src/main/java/io/helidon/common/config/EmptyConfig.java @@ -215,6 +215,11 @@ public ConfigValue> asList(Class type) throws ConfigException { return new EmptyValue<>(this.key); } + @Override + public ConfigValue> mapList(Function mapper) throws ConfigException { + return new EmptyValue<>(this.key); + } + @Override public ConfigValue> asNodeList() throws ConfigException { return new EmptyValue<>(this.key); diff --git a/config/config/src/main/java/io/helidon/config/Config.java b/config/config/src/main/java/io/helidon/config/Config.java index 17418bab887..1ea80f755c3 100644 --- a/config/config/src/main/java/io/helidon/config/Config.java +++ b/config/config/src/main/java/io/helidon/config/Config.java @@ -29,6 +29,7 @@ import java.util.stream.Stream; import io.helidon.common.GenericType; +import io.helidon.common.config.ConfigException; import io.helidon.config.spi.ConfigFilter; import io.helidon.config.spi.ConfigMapper; import io.helidon.config.spi.ConfigMapperProvider; @@ -814,6 +815,12 @@ default ConfigValue asDouble() { */ ConfigValue> asList(Function mapper) throws ConfigMappingException; + @Override + default io.helidon.common.config.ConfigValue> mapList(Function mapper) + throws ConfigException { + return asList(mapper::apply); + } + /** * Returns existing current config node as a {@link Optional} instance * or {@link Optional#empty()} in case of {@link Type#MISSING} node. diff --git a/config/config/src/main/java/io/helidon/config/ConfigProducer.java b/config/config/src/main/java/io/helidon/config/ConfigProducer.java index f05137f0632..1167966951c 100644 --- a/config/config/src/main/java/io/helidon/config/ConfigProducer.java +++ b/config/config/src/main/java/io/helidon/config/ConfigProducer.java @@ -106,6 +106,11 @@ public ConfigValue> asList(Class type) throws ConfigException { return config.asList(type); } + @Override + public ConfigValue> mapList(Function mapper) throws ConfigException { + return config.mapList(mapper); + } + @Override public ConfigValue> asNodeList() throws ConfigException { return config.asNodeList(); diff --git a/dbclient/metrics/src/main/java/io/helidon/dbclient/metrics/MetricBuilderBase.java b/dbclient/metrics/src/main/java/io/helidon/dbclient/metrics/MetricBuilderBase.java index 49ef022bac4..0d7c71055d3 100644 --- a/dbclient/metrics/src/main/java/io/helidon/dbclient/metrics/MetricBuilderBase.java +++ b/dbclient/metrics/src/main/java/io/helidon/dbclient/metrics/MetricBuilderBase.java @@ -17,7 +17,7 @@ import java.util.function.BiFunction; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.dbclient.DbClientServiceBase; import io.helidon.dbclient.DbStatementType; diff --git a/integrations/microstream/metrics/src/main/java/io/helidon/integrations/microstream/metrics/MicrostreamMetricsSupport.java b/integrations/microstream/metrics/src/main/java/io/helidon/integrations/microstream/metrics/MicrostreamMetricsSupport.java index d973e3ffd70..5d351b7726f 100644 --- a/integrations/microstream/metrics/src/main/java/io/helidon/integrations/microstream/metrics/MicrostreamMetricsSupport.java +++ b/integrations/microstream/metrics/src/main/java/io/helidon/integrations/microstream/metrics/MicrostreamMetricsSupport.java @@ -19,7 +19,8 @@ import java.util.Objects; import java.util.function.Supplier; -import io.helidon.config.Config; +import io.helidon.common.config.Config; +import io.helidon.metrics.api.MetricsSettings; import io.helidon.metrics.api.Registry; import io.helidon.metrics.api.RegistryFactory; @@ -68,7 +69,7 @@ private MicrostreamMetricsSupport(Builder builder) { this.embeddedStorageManager = builder.embeddedStorageManager(); if (builder.registryFactory() == null) { - registryFactory = RegistryFactory.getInstance(config); + registryFactory = RegistryFactory.getInstance(MetricsSettings.create(config)); } else { registryFactory = builder.registryFactory(); } diff --git a/lra/coordinator/server/src/main/java/io/helidon/lra/coordinator/CoordinatorService.java b/lra/coordinator/server/src/main/java/io/helidon/lra/coordinator/CoordinatorService.java index 1a2a17c1d39..4e4d2f7a3b7 100644 --- a/lra/coordinator/server/src/main/java/io/helidon/lra/coordinator/CoordinatorService.java +++ b/lra/coordinator/server/src/main/java/io/helidon/lra/coordinator/CoordinatorService.java @@ -89,7 +89,7 @@ public class CoordinatorService implements HttpService { CoordinatorService(LraPersistentRegistry lraPersistentRegistry, Supplier coordinatorUriSupplier, Config config) { this.lraPersistentRegistry = lraPersistentRegistry; - coordinatorURL = LazyValue.create(coordinatorUriSupplier); + this.coordinatorURL = LazyValue.create(coordinatorUriSupplier); this.config = config; init(); } @@ -418,7 +418,6 @@ private URI coordinatorUriWithPath(String additionalPath) { */ public static CoordinatorService create() { return builder() - .config(Config.create().get(CoordinatorService.CONFIG_PREFIX)) .build(); } @@ -480,7 +479,7 @@ public Builder url(Supplier uriSupplier) { @Override public CoordinatorService build() { if (config == null) { - config = Config.create().get(CoordinatorService.CONFIG_PREFIX); + config = Config.empty(); } if (lraPersistentRegistry == null) { lraPersistentRegistry = new LraDatabasePersistentRegistry(config); diff --git a/lra/coordinator/server/src/main/java/io/helidon/lra/coordinator/Main.java b/lra/coordinator/server/src/main/java/io/helidon/lra/coordinator/Main.java index edf74fde7a6..451e016172b 100644 --- a/lra/coordinator/server/src/main/java/io/helidon/lra/coordinator/Main.java +++ b/lra/coordinator/server/src/main/java/io/helidon/lra/coordinator/Main.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, 2022 Oracle and/or its affiliates. + * Copyright (c) 2021, 2023 Oracle and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,7 +42,9 @@ public static void main(String[] args) { Config config = Config.create(); - CoordinatorService coordinatorService = CoordinatorService.builder().build(); + CoordinatorService coordinatorService = CoordinatorService.builder() + .config(config.get(CoordinatorService.CONFIG_PREFIX)) + .build(); WebServer server = WebServer.builder() .routing(it -> updateRouting(it, config, coordinatorService)) diff --git a/messaging/connectors/aq/src/main/java/io/helidon/messaging/connectors/aq/AqConnector.java b/messaging/connectors/aq/src/main/java/io/helidon/messaging/connectors/aq/AqConnector.java index e43c7efb0cc..c6ba20095d0 100644 --- a/messaging/connectors/aq/src/main/java/io/helidon/messaging/connectors/aq/AqConnector.java +++ b/messaging/connectors/aq/src/main/java/io/helidon/messaging/connectors/aq/AqConnector.java @@ -24,6 +24,7 @@ import javax.sql.DataSource; import io.helidon.common.Builder; +import io.helidon.common.config.Config; import io.helidon.common.configurable.ScheduledThreadPoolSupplier; import io.helidon.common.configurable.ThreadPoolSupplier; import io.helidon.messaging.connectors.jms.JmsConnector; @@ -187,7 +188,7 @@ class AqConnectorBuilder implements Builder private final Map dataSourceMap = new HashMap<>(); private ScheduledExecutorService scheduler; private ExecutorService executor; - private io.helidon.config.Config config; + private Config config; /** * Add custom {@link jakarta.jms.ConnectionFactory ConnectionFactory} referencable by supplied name with @@ -208,7 +209,7 @@ public AqConnectorBuilder dataSource(String name, DataSource dataSource) { * @param config custom config * @return this builder */ - public AqConnectorBuilder config(io.helidon.config.Config config) { + public AqConnectorBuilder config(Config config) { this.config = config; return this; } @@ -260,7 +261,7 @@ public AqConnectorBuilder scheduler(ScheduledThreadPoolSupplier schedulerPoolSup @Override public AqConnectorImpl build() { if (config == null) { - config = io.helidon.config.Config.empty(); + config = Config.empty(); } if (executor == null) { diff --git a/metrics/api/pom.xml b/metrics/api/pom.xml index d7dda7be013..5dd8c4bb8ae 100644 --- a/metrics/api/pom.xml +++ b/metrics/api/pom.xml @@ -38,8 +38,8 @@ helidon-common-http - io.helidon.config - helidon-config + io.helidon.common + helidon-common-config io.helidon.config diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/BaseMetricsSettings.java b/metrics/api/src/main/java/io/helidon/metrics/api/BaseMetricsSettings.java index f8db55ea0dd..1d5bb81216b 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/BaseMetricsSettings.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/BaseMetricsSettings.java @@ -17,7 +17,7 @@ import java.util.Map; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.config.metadata.Configured; import io.helidon.config.metadata.ConfiguredOption; import io.helidon.config.metadata.ConfiguredValue; diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/BaseMetricsSettingsImpl.java b/metrics/api/src/main/java/io/helidon/metrics/api/BaseMetricsSettingsImpl.java index 420d48a90cb..2bfa8f885ec 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/BaseMetricsSettingsImpl.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/BaseMetricsSettingsImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Oracle and/or its affiliates. + * Copyright (c) 2021, 2023 Oracle and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package io.helidon.metrics.api; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import io.helidon.config.Config; +import io.helidon.common.config.Config; class BaseMetricsSettingsImpl implements BaseMetricsSettings { diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/ComponentMetricsSettings.java b/metrics/api/src/main/java/io/helidon/metrics/api/ComponentMetricsSettings.java index 5de096b5925..41b75a7dda1 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/ComponentMetricsSettings.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/ComponentMetricsSettings.java @@ -15,7 +15,7 @@ */ package io.helidon.metrics.api; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.config.metadata.Configured; import io.helidon.config.metadata.ConfiguredOption; diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/ComponentMetricsSettingsImpl.java b/metrics/api/src/main/java/io/helidon/metrics/api/ComponentMetricsSettingsImpl.java index 7b89f7170d3..da31153a963 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/ComponentMetricsSettingsImpl.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/ComponentMetricsSettingsImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Oracle and/or its affiliates. + * Copyright (c) 2021, 2023 Oracle and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package io.helidon.metrics.api; -import io.helidon.config.Config; +import io.helidon.common.config.Config; class ComponentMetricsSettingsImpl implements ComponentMetricsSettings { diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/KeyPerformanceIndicatorMetricsSettings.java b/metrics/api/src/main/java/io/helidon/metrics/api/KeyPerformanceIndicatorMetricsSettings.java index dc93c77a4bd..76cb205f9cf 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/KeyPerformanceIndicatorMetricsSettings.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/KeyPerformanceIndicatorMetricsSettings.java @@ -15,7 +15,7 @@ */ package io.helidon.metrics.api; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.config.metadata.Configured; import io.helidon.config.metadata.ConfiguredOption; diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/KeyPerformanceIndicatorMetricsSettingsImpl.java b/metrics/api/src/main/java/io/helidon/metrics/api/KeyPerformanceIndicatorMetricsSettingsImpl.java index 81f65eff993..a4f528e2163 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/KeyPerformanceIndicatorMetricsSettingsImpl.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/KeyPerformanceIndicatorMetricsSettingsImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Oracle and/or its affiliates. + * Copyright (c) 2021, 2023 Oracle and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package io.helidon.metrics.api; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.config.metadata.ConfiguredOption; class KeyPerformanceIndicatorMetricsSettingsImpl implements KeyPerformanceIndicatorMetricsSettings { diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/MetricsSettings.java b/metrics/api/src/main/java/io/helidon/metrics/api/MetricsSettings.java index be636b70b23..37d92002f04 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/MetricsSettings.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/MetricsSettings.java @@ -17,7 +17,7 @@ import java.util.Map; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.config.metadata.Configured; import io.helidon.config.metadata.ConfiguredOption; @@ -31,12 +31,12 @@ public interface MetricsSettings { /** - * Returns default metrics settings based on the {@code metrics} section of the default config. + * Returns default metrics settings. * * @return new settings reflecting the default config */ static MetricsSettings create() { - return create(Config.create().get(Builder.METRICS_CONFIG_KEY)); + return create(Config.empty()); } /** diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/MetricsSettingsImpl.java b/metrics/api/src/main/java/io/helidon/metrics/api/MetricsSettingsImpl.java index 0823c939fd2..d58e6d1ce2d 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/MetricsSettingsImpl.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/MetricsSettingsImpl.java @@ -21,8 +21,8 @@ import java.util.List; import java.util.Map; -import io.helidon.config.Config; -import io.helidon.config.ConfigValue; +import io.helidon.common.config.Config; +import io.helidon.common.config.ConfigValue; class MetricsSettingsImpl implements MetricsSettings { @@ -155,11 +155,11 @@ public Builder config(Config metricsSettingsConfig) { .ifPresent(this::enabled); metricsSettingsConfig.get(REGISTRIES_CONFIG_KEY) - .asList(ScopedRegistrySettingsImpl::create) + .mapList(ScopedRegistrySettingsImpl::create) .ifPresent(this::addAllTypedRegistrySettings); metricsSettingsConfig.get(GLOBAL_TAGS_CONFIG_KEY) - .as(Builder::globalTagsExpressionToMap) + .map(Builder::globalTagsExpressionToMap) .ifPresent(this::globalTags); metricsSettingsConfig.get(APP_TAG_CONFIG_KEY) diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFactory.java b/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFactory.java index ae9e35490ac..cda30fb3384 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFactory.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFactory.java @@ -19,8 +19,8 @@ import java.util.Optional; import java.util.Set; +import io.helidon.common.config.Config; import io.helidon.common.media.type.MediaType; -import io.helidon.config.Config; import org.eclipse.microprofile.metrics.Counter; import org.eclipse.microprofile.metrics.Gauge; @@ -101,7 +101,7 @@ static RegistryFactory getInstance() { */ @Deprecated static RegistryFactory getInstance(Config config) { - return RegistryFactoryManager.getInstance(config); + return RegistryFactoryManager.getInstance(MetricsSettings.create(config)); } /** diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFactoryManager.java b/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFactoryManager.java index 23c9e1a6156..fd0bc40d051 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFactoryManager.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFactoryManager.java @@ -23,7 +23,7 @@ import io.helidon.common.HelidonServiceLoader; import io.helidon.common.LazyValue; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.metrics.api.spi.RegistryFactoryProvider; /** @@ -126,11 +126,6 @@ static RegistryFactory getInstance(ComponentMetricsSettings componentMetricsSett : NO_OP_INSTANCE); } - @Deprecated - static RegistryFactory getInstance(Config config) { - return getInstance(MetricsSettings.create(config)); - } - private static T accessMetricsSettings(Supplier operation) { SETTINGS_ACCESS.lock(); try { diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFilterSettings.java b/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFilterSettings.java index 346efda292d..0f725a3482f 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFilterSettings.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFilterSettings.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Oracle and/or its affiliates. + * Copyright (c) 2021, 2023 Oracle and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package io.helidon.metrics.api; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.config.metadata.Configured; import io.helidon.config.metadata.ConfiguredOption; diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFilterSettingsImpl.java b/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFilterSettingsImpl.java index 5a584537e47..a88d3d9bd80 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFilterSettingsImpl.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/RegistryFilterSettingsImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Oracle and/or its affiliates. + * Copyright (c) 2021, 2023 Oracle and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,11 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package io.helidon.metrics.api; import java.util.regex.Pattern; -import io.helidon.config.Config; +import io.helidon.common.config.Config; class RegistryFilterSettingsImpl implements RegistryFilterSettings { diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/RegistrySettings.java b/metrics/api/src/main/java/io/helidon/metrics/api/RegistrySettings.java index 49d6aef03a1..8b343e426c9 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/RegistrySettings.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/RegistrySettings.java @@ -15,7 +15,7 @@ */ package io.helidon.metrics.api; -import io.helidon.config.Config; +import io.helidon.common.config.Config; import io.helidon.config.metadata.Configured; import io.helidon.config.metadata.ConfiguredOption; @@ -27,7 +27,7 @@ * {@link Builder#filterSettings(io.helidon.metrics.api.RegistryFilterSettings.Builder)}. *

*

- * Callers can also pass a {@link Config} object to builder or static factory methods as well. + * Callers can also pass a {@link io.helidon.common.config.Config} object to builder or static factory methods as well. *

*/ public interface RegistrySettings { diff --git a/metrics/api/src/main/java/io/helidon/metrics/api/RegistrySettingsImpl.java b/metrics/api/src/main/java/io/helidon/metrics/api/RegistrySettingsImpl.java index 43c77fc4089..3991e055656 100644 --- a/metrics/api/src/main/java/io/helidon/metrics/api/RegistrySettingsImpl.java +++ b/metrics/api/src/main/java/io/helidon/metrics/api/RegistrySettingsImpl.java @@ -15,7 +15,7 @@ */ package io.helidon.metrics.api; -import io.helidon.config.Config; +import io.helidon.common.config.Config; class RegistrySettingsImpl implements RegistrySettings { @@ -81,7 +81,7 @@ public RegistrySettings.Builder config(Config config) { .ifPresent(this::enabled); config.get(Builder.FILTER_CONFIG_KEY) - .as(RegistryFilterSettings.Builder::create) + .map(RegistryFilterSettings.Builder::create) .ifPresent(this::filterSettings); return this; } diff --git a/metrics/api/src/main/java/module-info.java b/metrics/api/src/main/java/module-info.java index d42c1573f2b..0bfcf96d283 100644 --- a/metrics/api/src/main/java/module-info.java +++ b/metrics/api/src/main/java/module-info.java @@ -23,7 +23,7 @@ module io.helidon.metrics.api { requires io.helidon.common.http; - requires transitive io.helidon.config; + requires transitive io.helidon.common.config; requires transitive microprofile.metrics.api; requires static io.helidon.config.metadata; diff --git a/metrics/api/src/test/java/io/helidon/metrics/api/TestGlobalTags.java b/metrics/api/src/test/java/io/helidon/metrics/api/TestGlobalTags.java index 3a702e029d8..f5731bef6f0 100644 --- a/metrics/api/src/test/java/io/helidon/metrics/api/TestGlobalTags.java +++ b/metrics/api/src/test/java/io/helidon/metrics/api/TestGlobalTags.java @@ -17,6 +17,8 @@ import java.util.AbstractMap; +import io.helidon.config.Config; + import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledIfSystemProperty; import org.junit.jupiter.api.condition.EnabledIfSystemProperty; @@ -30,7 +32,7 @@ class TestGlobalTags { @Test @DisabledIfSystemProperty(named = "testSelection", matches = "topLevelAndMetricsLevel") void testTopLevelTagsIgnoredForMetrics() { - MetricsSettings metricsSettings = MetricsSettings.create(); + MetricsSettings metricsSettings = MetricsSettings.create(Config.create().get(MetricsSettings.Builder.METRICS_CONFIG_KEY)); assertThat("Global tags with top-level 'tags' assigned", metricsSettings.globalTags().entrySet(), emptyIterable()); } @@ -40,7 +42,7 @@ void testGlobalTagsForMetrics() { String tag = "myTag"; String value = "myValue"; String globalTags = tag + "=" + value; - MetricsSettings metricsSettings = MetricsSettings.create(); + MetricsSettings metricsSettings = MetricsSettings.create(Config.create().get(MetricsSettings.Builder.METRICS_CONFIG_KEY)); assertThat("Global tags with top-level and metrics 'tags' assigned", metricsSettings.globalTags().entrySet(), hasItem(new AbstractMap.SimpleEntry<>(tag, value))); diff --git a/metrics/metrics/src/main/java/io/helidon/metrics/RegistryFactory.java b/metrics/metrics/src/main/java/io/helidon/metrics/RegistryFactory.java index 3612cc5104a..bfbe15207ee 100644 --- a/metrics/metrics/src/main/java/io/helidon/metrics/RegistryFactory.java +++ b/metrics/metrics/src/main/java/io/helidon/metrics/RegistryFactory.java @@ -23,9 +23,9 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import io.helidon.common.config.Config; import io.helidon.common.media.type.MediaType; import io.helidon.common.media.type.MediaTypes; -import io.helidon.config.Config; import io.helidon.metrics.api.MetricsProgrammaticSettings; import io.helidon.metrics.api.MetricsSettings; import io.helidon.metrics.api.spi.MetricFactory; diff --git a/metrics/metrics/src/main/java/module-info.java b/metrics/metrics/src/main/java/module-info.java index 3f6367dae5b..6990f713310 100644 --- a/metrics/metrics/src/main/java/module-info.java +++ b/metrics/metrics/src/main/java/module-info.java @@ -31,6 +31,7 @@ requires java.logging; requires io.helidon.common; + requires io.helidon.common.media.type; requires transitive io.helidon.metrics.api; requires transitive io.helidon.metrics.serviceapi;