From 67c9b17b49707cbffb82efa9946814b26f78f66a Mon Sep 17 00:00:00 2001 From: serge-rider Date: Sat, 24 Aug 2019 21:23:23 +0300 Subject: [PATCH] #6599 Multiple config files migration fix --- .../org/jkiss/dbeaver/registry/DataSourceRegistry.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceRegistry.java b/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceRegistry.java index ee2789f331..860ef992bb 100644 --- a/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceRegistry.java +++ b/plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceRegistry.java @@ -575,6 +575,8 @@ public class DataSourceRegistry implements DBPDataSourceRegistry { } } } + // Save config immediately in the new format + flushConfig(); } } catch (CoreException e) { log.error("Error reading datasources configuration", e); @@ -641,9 +643,12 @@ public class DataSourceRegistry implements DBPDataSourceRegistry { configFile = getLegacyConfigFile(); } } else { - if ("xml".equals(configFile.getFileExtension())) { + if (configFile.getName().startsWith(LEGACY_CONFIG_FILE_PREFIX) && "xml".equals(configFile.getFileExtension())) { // Legacy configuration - move to metadata folder as json - configFile = project.getMetadataFolder(false).getFile(configFile.getName() + ".json"); + String newFileName = MODERN_CONFIG_FILE_PREFIX + configFile.getName().substring(LEGACY_CONFIG_FILE_PREFIX.length()); + int divPos = newFileName.lastIndexOf("."); + newFileName = newFileName.substring(0, divPos) + ".json"; + configFile = project.getMetadataFolder(false).getFile(newFileName); } } try { -- GitLab