|
1 | 1 | namespace ServiceControlInstaller.Engine.Configuration.ServiceControl |
2 | 2 | { |
3 | 3 | using System; |
4 | | - using System.Collections.Generic; |
5 | 4 | using System.Data.Common; |
6 | 5 | using System.IO; |
7 | | - using System.Linq; |
8 | 6 | using Instances; |
9 | 7 |
|
10 | 8 | public class ServiceControlAppConfig : AppConfig |
@@ -41,9 +39,9 @@ protected override void UpdateSettings() |
41 | 39 | settings.RemoveIfRetired(ServiceControlSettings.AuditLogQueue, version); |
42 | 40 | settings.RemoveIfRetired(ServiceControlSettings.ForwardAuditMessages, version); |
43 | 41 | settings.RemoveIfRetired(ServiceControlSettings.InternalQueueName, version); |
44 | | - settings.RemoveIfRetired(ServiceControlSettings.RabbitMqManagementApiUrl, version); |
45 | | - settings.RemoveIfRetired(ServiceControlSettings.RabbitMqManagementApiUsername, version); |
46 | | - settings.RemoveIfRetired(ServiceControlSettings.RabbitMqManagementApiPassword, version); |
| 42 | + settings.RemoveIfRetired(ServiceControlSettings.LicensingComponentRabbitMqManagementApiUrl, version); |
| 43 | + settings.RemoveIfRetired(ServiceControlSettings.LicensingComponentRabbitMqManagementApiUsername, version); |
| 44 | + settings.RemoveIfRetired(ServiceControlSettings.LicensingComponentRabbitMqManagementApiPassword, version); |
47 | 45 |
|
48 | 46 | RemoveRavenDB35Settings(settings, version); |
49 | 47 | } |
@@ -71,42 +69,38 @@ public override void SetTransportType(string transportTypeName) |
71 | 69 |
|
72 | 70 | string UpdateConnectionString() |
73 | 71 | { |
74 | | - var kvpList = new DbConnectionStringBuilder { ConnectionString = details.ConnectionString } |
75 | | - .OfType<KeyValuePair<string, object>>() |
76 | | - .Select(kvp => new KeyValuePair<string, string>(kvp.Key, kvp.Value.ToString())) |
77 | | - .ToList(); |
| 72 | + var connectionStringBuilder = new DbConnectionStringBuilder { ConnectionString = details.ConnectionString }; |
78 | 73 |
|
79 | | - MigrateRabbitMqManagementApiSettings(kvpList); |
| 74 | + MigrateLicensingComponentRabbitMqManagementApiSettings(connectionStringBuilder); |
80 | 75 |
|
81 | | - return string.Join(";", kvpList.Select(kvp => $"{kvp.Key}={kvp.Value}")); |
| 76 | + return connectionStringBuilder.ConnectionString; |
82 | 77 | } |
83 | 78 |
|
84 | | - void MigrateRabbitMqManagementApiSettings(IList<KeyValuePair<string, string>> connectionStringPairs) |
| 79 | + void MigrateLicensingComponentRabbitMqManagementApiSettings(DbConnectionStringBuilder connectionStringBuilder) |
85 | 80 | { |
86 | | - if (!details.TransportPackage.Name.Contains("rabbitmq", StringComparison.OrdinalIgnoreCase) || |
87 | | - connectionStringPairs.Any(kvp => kvp.Key.Equals("ManagementApiUrl", StringComparison.OrdinalIgnoreCase) || kvp.Key.Equals("ManagementApiUserName", StringComparison.OrdinalIgnoreCase))) |
| 81 | + if (!details.TransportPackage.Name.Contains("rabbitmq", StringComparison.OrdinalIgnoreCase)) |
88 | 82 | { |
89 | 83 | return; |
90 | 84 | } |
91 | 85 |
|
92 | 86 | var settings = Config.AppSettings.Settings; |
93 | 87 |
|
94 | | - var legacySetting = settings["LicensingComponent/RabbitMQ/ApiUrl"]; |
95 | | - if (legacySetting is not null) |
| 88 | + var legacySetting = settings[ServiceControlSettings.LicensingComponentRabbitMqManagementApiUrl.Name]; |
| 89 | + if (legacySetting is not null && !connectionStringBuilder.ContainsKey("ManagementApiUrl")) |
96 | 90 | { |
97 | | - connectionStringPairs.Add(new KeyValuePair<string, string>("ManagementApiUrl", legacySetting.Value)); |
| 91 | + connectionStringBuilder.Add("ManagementApiUrl", legacySetting.Value); |
98 | 92 | } |
99 | 93 |
|
100 | | - legacySetting = settings["LicensingComponent/RabbitMQ/UserName"]; |
101 | | - if (legacySetting is not null) |
| 94 | + legacySetting = settings[ServiceControlSettings.LicensingComponentRabbitMqManagementApiUsername.Name]; |
| 95 | + if (legacySetting is not null && !connectionStringBuilder.ContainsKey("ManagementApiUserName")) |
102 | 96 | { |
103 | | - connectionStringPairs.Add(new KeyValuePair<string, string>("ManagementApiUserName", legacySetting.Value)); |
| 97 | + connectionStringBuilder.Add("ManagementApiUserName", legacySetting.Value); |
104 | 98 | } |
105 | 99 |
|
106 | | - legacySetting = settings["LicensingComponent/RabbitMQ/Password"]; |
107 | | - if (legacySetting is not null) |
| 100 | + legacySetting = settings[ServiceControlSettings.LicensingComponentRabbitMqManagementApiPassword.Name]; |
| 101 | + if (legacySetting is not null && !connectionStringBuilder.ContainsKey("ManagementApiPassword")) |
108 | 102 | { |
109 | | - connectionStringPairs.Add(new KeyValuePair<string, string>("ManagementApiPassword", legacySetting.Value)); |
| 103 | + connectionStringBuilder.Add("ManagementApiPassword", legacySetting.Value); |
110 | 104 | } |
111 | 105 | } |
112 | 106 |
|
|
0 commit comments