You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/04/21 13:12:13 UTC

[isis] branch master updated: ISIS-2615: add info on 'Active Spring Profiles';

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/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 58cc53c  ISIS-2615: add info on 'Active Spring Profiles';
58cc53c is described below

commit 58cc53cc63cc84c1b69921b629082280644614d8
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Apr 21 15:11:57 2021 +0200

    ISIS-2615: add info on 'Active Spring Profiles';
    
    also provide more meaningful datasource info
---
 .../confmenu/ConfigurationViewServiceDefault.java  | 26 +++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/core/webapp/src/main/java/org/apache/isis/core/webapp/confmenu/ConfigurationViewServiceDefault.java b/core/webapp/src/main/java/org/apache/isis/core/webapp/confmenu/ConfigurationViewServiceDefault.java
index f848d56..48180ee 100644
--- a/core/webapp/src/main/java/org/apache/isis/core/webapp/confmenu/ConfigurationViewServiceDefault.java
+++ b/core/webapp/src/main/java/org/apache/isis/core/webapp/confmenu/ConfigurationViewServiceDefault.java
@@ -30,11 +30,11 @@ import java.util.stream.Collectors;
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 import javax.inject.Named;
-import javax.sql.DataSource;
 
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.annotation.Primary;
 import org.springframework.core.annotation.Order;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
@@ -48,6 +48,7 @@ import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.core.config.IsisConfiguration.Core.Config.ConfigurationPropertyVisibilityPolicy;
 import org.apache.isis.core.config.IsisModuleCoreConfig;
+import org.apache.isis.core.config.datasources.DataSourceIntrospectionService;
 import org.apache.isis.core.config.environment.IsisSystemEnvironment;
 import org.apache.isis.core.config.util.ValueMaskingUtil;
 import org.apache.isis.core.webapp.modules.WebModule;
@@ -70,10 +71,15 @@ public class ConfigurationViewServiceDefault
 implements
     ConfigurationViewService {
 
+    private final Environment springEnvironment;
     private final IsisSystemEnvironment systemEnvironment;
     private final IsisConfiguration configuration;
+    private final DataSourceIntrospectionService datasourceInfoService;
     private final List<WebModule> webModules;
-    private final List<DataSource> dataSources;
+    //private final List<DataSource> dataSources;
+    
+//    @org.springframework.beans.factory.annotation.Value("${spring.profiles.active}")
+//    private String activeProfiles;
     
     private final IsisModuleCoreConfig.ConfigProps configProps;
     
@@ -163,17 +169,27 @@ implements
     private Map<String, ConfigurationProperty> loadConfiguration() {
         final Map<String, ConfigurationProperty> map = _Maps.newTreeMap();
         if(isShowConfigurationProperties()) {
+
+            
+            val activeProfiles = Can.ofArray(springEnvironment.getActiveProfiles())
+            .stream()
+            .collect(Collectors.joining(", "));
+            
+            add("Active Spring Profiles", activeProfiles, map);
+            
             configProps.getIsis().forEach((k, v)->add("isis." + 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));
             
             val index = _Refs.intRef(0);
+            val dsInfos = Can.ofStream(datasourceInfoService.streamDataSourceInfos());
             
-            Can.ofCollection(dataSources)
-            .forEach(dataSource->{
+            dsInfos.forEach(dataSourceInfo->{
                 index.inc();
-                add(String.format("Data Source (%d)", index.getValue()), dataSource.getClass().getName(), map);
+                add(String.format("Data Source (%d/%d)", index.getValue(), dsInfos.size()), 
+                        dataSourceInfo.getJdbcUrl(), 
+                        map);
             });