From 604bf073827cea14006d971256d82157a18069b7 Mon Sep 17 00:00:00 2001 From: Thomas <> Date: Fri, 4 Oct 2024 19:20:13 +0200 Subject: chore(core): optimize some configuration classes --- .../impl/credential/KeyStoreConfiguration.java | 6 ++++ .../eaaf/core/impl/utils/ConfigurationUtils.java | 36 +++++++++++++++++++--- 2 files changed, 38 insertions(+), 4 deletions(-) (limited to 'eaaf_core_utils/src') diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/KeyStoreConfiguration.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/KeyStoreConfiguration.java index 6c00fb2e..f242c90c 100644 --- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/KeyStoreConfiguration.java +++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/credential/KeyStoreConfiguration.java @@ -7,13 +7,19 @@ import javax.annotation.Nonnull; import org.apache.commons.lang3.StringUtils; import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @Slf4j @Getter @Setter +@Builder +@NoArgsConstructor +@AllArgsConstructor public class KeyStoreConfiguration { public static final String PROP_CONFIG_KEYSTORE_TYPE = diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/utils/ConfigurationUtils.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/utils/ConfigurationUtils.java index ae39ba49..2ae70fbc 100644 --- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/utils/ConfigurationUtils.java +++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/utils/ConfigurationUtils.java @@ -4,6 +4,7 @@ import org.apache.commons.lang3.StringUtils; import at.gv.egiz.eaaf.core.api.idp.IConfiguration; import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException; +import lombok.experimental.UtilityClass; import lombok.extern.slf4j.Slf4j; /** @@ -13,6 +14,7 @@ import lombok.extern.slf4j.Slf4j; * */ @Slf4j +@UtilityClass public class ConfigurationUtils { @@ -26,13 +28,30 @@ public class ConfigurationUtils { */ public static String parseString(IConfiguration basicConfig, String propertyKey) throws EaafConfigurationException { - String value = basicConfig.getBasicConfiguration(propertyKey); - if (StringUtils.isEmpty(value)) { + return parseString(basicConfig, propertyKey, true); + + } + + /** + * Read String value from configuration. + * + * @param basicConfig Configuration object + * @param propertyKey Configuration key + * @param failOnMissing If true get an exception in case of + * missing, otherwise null + * @return Configuration value or null if missing are allowed + * @throws EaafConfigurationException If configuration value does not exist and + * fail on missing is true + */ + public static String parseString(IConfiguration basicConfig, String propertyKey, boolean failOnMissing) + throws EaafConfigurationException { + String value = basicConfig.getBasicConfiguration(propertyKey); + if (failOnMissing && StringUtils.isEmpty(value)) { log.error("Can not find String value from configuration: {}", propertyKey); throw new EaafConfigurationException("internal.configuration.00", new Object[] { propertyKey }); } - + return value; } @@ -100,7 +119,16 @@ public class ConfigurationUtils { } } - private ConfigurationUtils() { + /** + * Parse boolean value from configuration. + * + * @param basicConfig Configuration object + * @param propertyKey Configuration key + * @param defaultValue Default value of configuration-key does not exist + * @return Configuration value + */ + public static boolean parseBoolean(IConfiguration basicConfig, String propertyKey, boolean defaultValue) { + return Boolean.parseBoolean(basicConfig.getBasicConfiguration(propertyKey, String.valueOf(defaultValue))); } -- cgit v1.2.3