From dc29b1634bcf236a025ac3d665299eac2ca33272 Mon Sep 17 00:00:00 2001 From: docktermj Date: Fri, 18 Aug 2023 14:38:10 -0400 Subject: [PATCH] #29 Improve BuildSenzingEngineConfigurationJson --- engineconfiguration/engineconfiguration.go | 22 +++++++++++++------ .../engineconfiguration_test.go | 3 +-- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/engineconfiguration/engineconfiguration.go b/engineconfiguration/engineconfiguration.go index 0a6ee8d..aed2fdb 100644 --- a/engineconfiguration/engineconfiguration.go +++ b/engineconfiguration/engineconfiguration.go @@ -13,13 +13,21 @@ func BuildSenzingEngineConfigurationJson(ctx context.Context, aViper *viper.Vipe var err error = nil result := aViper.GetString(option.EngineConfigurationJson.Arg) if len(result) == 0 { - options := map[string]string{ - "configPath": aViper.GetString(option.ConfigPath.Arg), - "databaseUrl": aViper.GetString(option.DatabaseUrl.Arg), - "licenseStringBase64": aViper.GetString(option.LicenseStringBase64.Arg), - "resourcePath": aViper.GetString(option.ResourcePath.Arg), - "senzingDirectory": aViper.GetString(option.SenzingDirectory.Arg), - "supportPath": aViper.GetString(option.SupportPath.Arg), + optionsList := map[string]option.ContextVariable{ + "configPath": option.ConfigPath, + "databaseUrl": option.DatabaseUrl, + "licenseStringBase64": option.LicenseStringBase64, + "resourcePath": option.ResourcePath, + "senzingDirectory": option.SenzingDirectory, + "supportPath": option.SupportPath, + } + options := map[string]string{} + for key, contextVariable := range optionsList { + if aViper.IsSet(contextVariable.Arg) { + if aViper.GetString(contextVariable.Arg) != contextVariable.Default { + options[key] = aViper.GetString(contextVariable.Arg) + } + } } result, err = g2engineconfigurationjson.BuildSimpleSystemConfigurationJsonUsingMap(options) } diff --git a/engineconfiguration/engineconfiguration_test.go b/engineconfiguration/engineconfiguration_test.go index d1251fb..de2fbd3 100644 --- a/engineconfiguration/engineconfiguration_test.go +++ b/engineconfiguration/engineconfiguration_test.go @@ -19,7 +19,7 @@ func TestBuildSenzingEngineConfigurationJson(test *testing.T) { var contextVariables = []option.ContextVariable{ option.ConfigPath.SetDefault("/tmp/ConfigPath"), - option.DatabaseUrl, + option.DatabaseUrl.SetDefault("sqlite3://na:na@/tmp/sqlite/G2C.db"), option.LicenseStringBase64.SetDefault("ABCD12134"), option.ResourcePath.SetDefault("/tmp/ResourcePath"), option.SenzingDirectory, @@ -38,5 +38,4 @@ func TestBuildSenzingEngineConfigurationJson(test *testing.T) { if err != nil { panic(err) } - }