You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2023/11/22 07:20:06 UTC
(causeway) branch master updated: CAUSEWAY-3275: removes @Bean CausewayModuleCoreConfig.ConfigProps.class
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/master by this push:
new 375afcb55d CAUSEWAY-3275: removes @Bean CausewayModuleCoreConfig.ConfigProps.class
375afcb55d is described below
commit 375afcb55d67754aa5b14ff80bab62104a064b0a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Nov 22 08:20:00 2023 +0100
CAUSEWAY-3275: removes @Bean CausewayModuleCoreConfig.ConfigProps.class
- fixes regression: missing primary props
---
.../core/config/CausewayModuleCoreConfig.java | 22 -----------
.../confmenu/ConfigurationViewServiceDefault.java | 45 +++++++++++++---------
2 files changed, 26 insertions(+), 41 deletions(-)
diff --git a/core/config/src/main/java/org/apache/causeway/core/config/CausewayModuleCoreConfig.java b/core/config/src/main/java/org/apache/causeway/core/config/CausewayModuleCoreConfig.java
index 84961f4001..1c029f18f3 100644
--- a/core/config/src/main/java/org/apache/causeway/core/config/CausewayModuleCoreConfig.java
+++ b/core/config/src/main/java/org/apache/causeway/core/config/CausewayModuleCoreConfig.java
@@ -18,11 +18,7 @@
*/
package org.apache.causeway.core.config;
-import java.util.Collections;
-import java.util.Map;
-
import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@@ -37,8 +33,6 @@ import org.apache.causeway.core.config.environment.CausewayTimeZoneInitializer;
import org.apache.causeway.core.config.validators.PatternOptionalStringConstraintValidator;
import org.apache.causeway.core.config.viewer.web.WebAppContextPath;
-import lombok.Data;
-
@Configuration
@Import({
@@ -55,9 +49,6 @@ import lombok.Data;
CausewayBeanTypeRegistryDefault.class,
CausewaySystemEnvironment.class,
WebAppContextPath.class,
-
- // @Bean
- CausewayModuleCoreConfig.ConfigProps.class,
})
@EnableConfigurationProperties({
CausewayConfiguration.class,
@@ -73,17 +64,4 @@ public class CausewayModuleCoreConfig {
public static final String NAMESPACE = "causeway.config";
- @Bean
- public ConfigProps configProps() {
- return new ConfigProps();
- }
-
- @Data
- public static class ConfigProps {
- private Map<String, String> causeway = Collections.emptyMap();
- private Map<String, String> resteasy = Collections.emptyMap();
- private Map<String, String> datanucleus = Collections.emptyMap();
- private Map<String, String> eclipselink = Collections.emptyMap();
- }
-
}
diff --git a/core/webapp/src/main/java/org/apache/causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java b/core/webapp/src/main/java/org/apache/causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java
index cbf66e1e98..14e958be31 100644
--- a/core/webapp/src/main/java/org/apache/causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java
+++ b/core/webapp/src/main/java/org/apache/causeway/core/webapp/confmenu/ConfigurationViewServiceDefault.java
@@ -53,7 +53,6 @@ import org.apache.causeway.commons.internal.base._Strings;
import org.apache.causeway.commons.internal.collections._Maps;
import org.apache.causeway.core.config.CausewayConfiguration;
import org.apache.causeway.core.config.CausewayConfiguration.Core.Config.ConfigurationPropertyVisibilityPolicy;
-import org.apache.causeway.core.config.CausewayModuleCoreConfig;
import org.apache.causeway.core.config.datasources.DataSourceIntrospectionService;
import org.apache.causeway.core.config.environment.CausewaySystemEnvironment;
import org.apache.causeway.core.config.util.ValueMaskingUtil;
@@ -82,7 +81,6 @@ implements
private final CausewayConfiguration configuration;
private final DataSourceIntrospectionService datasourceInfoService;
private final List<WebModule> webModules;
- private final CausewayModuleCoreConfig.ConfigProps configProps;
private LocalDateTime startupTime = LocalDateTime.MIN; // so it is not uninitialized
@@ -139,7 +137,11 @@ implements
new ArrayList<Map<String, ConfigurationProperty>>();
val env = loadEnvironment();
- val primary = loadPrimary();
+ val primary = loadPrimary(List.of(
+ "causeway.",
+ "resteasy.",
+ "datanucleus.",
+ "eclipselink."));
// we dont't want any duplicates to appear in secondary
val secondary = loadSecondary(Stream.concat(env.keySet().stream(), primary.keySet().stream())
.distinct()
@@ -190,14 +192,16 @@ implements
return map;
}
- private Map<String, ConfigurationProperty> loadPrimary() {
+ private Map<String, ConfigurationProperty> loadPrimary(final List<String> primaryPrefixes) {
final Map<String, ConfigurationProperty> map = _Maps.newTreeMap();
if(isShowConfigurationProperties()) {
-
- configProps.getCauseway().forEach((k, v)->add("causeway." + k, v, map));
- configProps.getResteasy().forEach((k, v)->add("resteasy." + k, v, map));
- configProps.getDatanucleus().forEach((k, v)->add("datanucleus." + k, v, map));
- configProps.getEclipselink().forEach((k, v)->add("eclipselink." + k, v, map));
+ final ConfigurableEnvironment springEnv = configuration.getEnvironment();
+ streamConfigurationPropertyNames(springEnv)
+ .filter(propName->primaryPrefixes.stream().anyMatch(propName::startsWith))
+ .forEach(propName -> {
+ String propertyValue = springEnv.getProperty(propName);
+ add(propName, propertyValue, map);
+ });
val dsInfos = datasourceInfoService.getDataSourceInfos();
@@ -218,16 +222,8 @@ implements
private Map<String, ConfigurationProperty> loadSecondary(final Set<String> toBeExcluded) {
final Map<String, ConfigurationProperty> map = _Maps.newTreeMap();
if(isShowConfigurationProperties()) {
-
- ConfigurableEnvironment springEnv = configuration.getEnvironment();
- MutablePropertySources propertySources = springEnv.getPropertySources();
- StreamSupport
- .stream(propertySources.spliterator(), false)
- .filter(EnumerablePropertySource.class::isInstance)
- .map(EnumerablePropertySource.class::cast)
- .filter(ps->!"systemEnvironment".equalsIgnoreCase(ps.getName())) // exclude system env
- .map(EnumerablePropertySource::getPropertyNames)
- .flatMap(_NullSafe::stream)
+ final ConfigurableEnvironment springEnv = configuration.getEnvironment();
+ streamConfigurationPropertyNames(springEnv)
.filter(propName->!toBeExcluded.contains(propName))
.forEach(propName -> {
String propertyValue = springEnv.getProperty(propName);
@@ -271,4 +267,15 @@ implements
.orElseGet(()->new CausewayConfiguration.Core.Config().getConfigurationPropertyVisibilityPolicy());
}
+ private static Stream<String> streamConfigurationPropertyNames(final ConfigurableEnvironment springEnv) {
+ MutablePropertySources propertySources = springEnv.getPropertySources();
+ return StreamSupport
+ .stream(propertySources.spliterator(), false)
+ .filter(EnumerablePropertySource.class::isInstance)
+ .map(EnumerablePropertySource.class::cast)
+ .filter(ps->!"systemEnvironment".equalsIgnoreCase(ps.getName())) // exclude system env
+ .map(EnumerablePropertySource::getPropertyNames)
+ .flatMap(_NullSafe::stream);
+ }
+
}