From 815002dbda31be97cc1ad95fbe3d891ed3e4edf7 Mon Sep 17 00:00:00 2001 From: Aleksandr Skoblikov Date: Fri, 16 Sep 2022 21:37:13 +0300 Subject: [PATCH] CB-2354 update merge configs api --- .../io/cloudbeaver/server/CBApplication.java | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java index 99471dab93..6c0f1580dc 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java @@ -565,29 +565,31 @@ public class CBApplication extends BaseWebApplication implements WebAuthApplicat throw new DBException("Error parsing server configuration", e); } + // Backward compatibility: load configs map + appConfiguration.loadLegacyCustomConfigs(); + // Merge new config with old one - { - Map mergedPlugins = Stream.concat( - prevConfig.getPlugins().entrySet().stream(), - appConfiguration.getPlugins().entrySet().stream() - ) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (o, o2) -> o2)); - appConfiguration.setPlugins(mergedPlugins); - - // Backward compatibility: load configs map - appConfiguration.loadLegacyCustomConfigs(); - - Set mergedAuthProviders = Stream.concat( - prevConfig.getAuthCustomConfigurations().stream(), - appConfiguration.getAuthCustomConfigurations().stream() - ) - .collect(Collectors.toCollection(LinkedHashSet::new)); - appConfiguration.setAuthProvidersConfigurations(mergedAuthProviders); - } + mergeOldConfiguration(prevConfig); patchConfigurationWithProperties(productConfiguration); } + protected void mergeOldConfiguration(CBAppConfig prevConfig) { + Map mergedPlugins = Stream.concat( + prevConfig.getPlugins().entrySet().stream(), + appConfiguration.getPlugins().entrySet().stream() + ) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (o, o2) -> o2)); + appConfiguration.setPlugins(mergedPlugins); + + Set mergedAuthProviders = Stream.concat( + prevConfig.getAuthCustomConfigurations().stream(), + appConfiguration.getAuthCustomConfigurations().stream() + ) + .collect(Collectors.toCollection(LinkedHashSet::new)); + appConfiguration.setAuthProvidersConfigurations(mergedAuthProviders); + } + @NotNull protected String initHomeFolder() { String homeFolder = System.getenv(CBConstants.ENV_CB_HOME);