Skip to content

Commit 660f21b

Browse files
Update to fix Issue #63
- Fixes issue with AgentConfiguration.Read() ignoring the path parameter - Fixes issue with MTConnectAgentApplication.Run() copying the default config file if the configPath argument is passed through the command line
1 parent cf3a289 commit 660f21b

2 files changed

Lines changed: 33 additions & 18 deletions

File tree

agent/MTConnect.NET-Applications-Agents/MTConnectAgentApplication.cs

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,20 +117,23 @@ public void Run(string[] args, bool isBlocking = false)
117117
}
118118

119119

120-
// Convert Json Configuration File to YAML
121-
string jsonConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AgentConfiguration.JsonFilename);
122-
if (File.Exists(jsonConfigPath))
120+
if (string.IsNullOrEmpty(configFile))
123121
{
124-
var dummyConfiguration = OnConfigurationFileRead(jsonConfigPath);
125-
if (dummyConfiguration != null) dummyConfiguration.SaveYaml();
126-
}
122+
// Convert Json Configuration File to YAML
123+
string jsonConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AgentConfiguration.JsonFilename);
124+
if (File.Exists(jsonConfigPath))
125+
{
126+
var dummyConfiguration = OnConfigurationFileRead(jsonConfigPath);
127+
if (dummyConfiguration != null) dummyConfiguration.SaveYaml();
128+
}
127129

128-
// Copy Default Configuration File
129-
string yamlConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AgentConfiguration.YamlFilename);
130-
string defaultConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AgentConfiguration.DefaultYamlFilename);
131-
if (!File.Exists(yamlConfigPath) && !File.Exists(jsonConfigPath) && File.Exists(defaultConfigPath))
132-
{
133-
File.Copy(defaultConfigPath, yamlConfigPath);
130+
// Copy Default Configuration File
131+
string yamlConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AgentConfiguration.YamlFilename);
132+
string defaultConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AgentConfiguration.DefaultYamlFilename);
133+
if (!File.Exists(yamlConfigPath) && !File.Exists(jsonConfigPath) && File.Exists(defaultConfigPath))
134+
{
135+
File.Copy(defaultConfigPath, yamlConfigPath);
136+
}
134137
}
135138

136139
// Read the Agent Configuation File

libraries/MTConnect.NET-Common/Configurations/AgentConfiguration.cs

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,18 +134,30 @@ public AgentConfiguration()
134134
public static AgentConfiguration ReadYaml(string path = null) => ReadYaml<AgentConfiguration>(path);
135135

136136

137-
138137
public static T Read<T>(string path = null) where T : AgentConfiguration
139138
{
140-
var jsonPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, JsonFilename);
139+
if (!string.IsNullOrEmpty(path))
140+
{
141+
var configurationPath = path;
142+
if (!System.IO.Path.IsPathRooted(configurationPath))
143+
{
144+
configurationPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, configurationPath);
145+
}
141146

142-
// Test for JSON Configuration File
143-
if (File.Exists(jsonPath)) return ReadJson<T>(jsonPath);
147+
return ReadYaml<T>(configurationPath);
148+
}
144149
else
145150
{
146-
var yamlPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, YamlFilename);
151+
var jsonPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, JsonFilename);
147152

148-
return ReadYaml<T>(yamlPath);
153+
// Test for JSON Configuration File
154+
if (File.Exists(jsonPath)) return ReadJson<T>(jsonPath);
155+
else
156+
{
157+
var yamlPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, YamlFilename);
158+
159+
return ReadYaml<T>(yamlPath);
160+
}
149161
}
150162
}
151163

0 commit comments

Comments
 (0)