Commit 41698df242496be7da6f224e5ea292680ae7f158
1 parent
b629ffb6
v1.10.0.0
- Külső exe indítás paraméterezhetőségeése
Showing
2 changed files
with
34 additions
and
7 deletions
Show diff stats
Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
| @@ -16,7 +16,7 @@ using Vrh.Log4Pro.MaintenanceConsole.MenuNS; | @@ -16,7 +16,7 @@ using Vrh.Log4Pro.MaintenanceConsole.MenuNS; | ||
| 16 | using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS; | 16 | using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS; |
| 17 | using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; | 17 | using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; |
| 18 | using Vrh.Log4Pro.MaintenanceConsole.ToolsNS; | 18 | using Vrh.Log4Pro.MaintenanceConsole.ToolsNS; |
| 19 | - | 19 | +using VRH.Common; |
| 20 | 20 | ||
| 21 | using Vrh.XmlProcessing; | 21 | using Vrh.XmlProcessing; |
| 22 | using System.Xml.Linq; | 22 | using System.Xml.Linq; |
| @@ -54,7 +54,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -54,7 +54,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
| 54 | #endregion Execute | 54 | #endregion Execute |
| 55 | 55 | ||
| 56 | #region First level Executors with UI | 56 | #region First level Executors with UI |
| 57 | - private static object ExternalUtilityStarter(object parameter, object o) | 57 | + private static object ExternalUtilityStarter(object parameter, object o) |
| 58 | { | 58 | { |
| 59 | var config = (parameter as Menu.ExecutorParameter).GetConfig2<MaintenanceToolsXmlProcessor.ExternalUtilityConfig>(); | 59 | var config = (parameter as Menu.ExecutorParameter).GetConfig2<MaintenanceToolsXmlProcessor.ExternalUtilityConfig>(); |
| 60 | using (System.Diagnostics.Process pProcess = new System.Diagnostics.Process()) | 60 | using (System.Diagnostics.Process pProcess = new System.Diagnostics.Process()) |
| @@ -62,6 +62,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -62,6 +62,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
| 62 | Process ExternalProcess = new Process(); | 62 | Process ExternalProcess = new Process(); |
| 63 | ExternalProcess.StartInfo.FileName = config.Exe; | 63 | ExternalProcess.StartInfo.FileName = config.Exe; |
| 64 | ExternalProcess.StartInfo.WindowStyle = config.ProcessWindowsStyle; | 64 | ExternalProcess.StartInfo.WindowStyle = config.ProcessWindowsStyle; |
| 65 | + | ||
| 66 | + ExternalProcess.StartInfo.Arguments = config.Arguments; | ||
| 65 | ExternalProcess.Start(); | 67 | ExternalProcess.Start(); |
| 66 | int waitingtime = config.WaitForExit ? -1 : 0; | 68 | int waitingtime = config.WaitForExit ? -1 : 0; |
| 67 | ExternalProcess.WaitForExit(waitingtime); | 69 | ExternalProcess.WaitForExit(waitingtime); |
| @@ -380,19 +382,42 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -380,19 +382,42 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
| 380 | { | 382 | { |
| 381 | public ExternalUtilityConfig(XElement x) | 383 | public ExternalUtilityConfig(XElement x) |
| 382 | { | 384 | { |
| 383 | - Key = GetValue(nameof(XmlStructure.ExternalUtility.Attributes.Key), x, ""); | ||
| 384 | - Exe= GetValue(nameof(XmlStructure.ExternalUtility.Attributes.Exe), x, ""); | ||
| 385 | - Description = GetValue(nameof(XmlStructure.ExternalUtility.Attributes.Description), x, Exe); | 385 | + ArgumentParametersDictionary = GetValue(nameof(XmlStructure.ExternalUtility.Attributes.ArgumentParameters), x, XmlStructure.ExternalUtility.Attributes.ArgumentParameters.Values.DEFAULT).Split(new char[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries) |
| 386 | + .Select(kvp => CreateKVP(kvp)) | ||
| 387 | + .Where(kvp => kvp.Key != null) | ||
| 388 | + .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); | ||
| 389 | + | ||
| 390 | + Key = VRH.Common.StringConstructor.ResolveConstructorR(ArgumentParametersDictionary, GetValue(nameof(XmlStructure.ExternalUtility.Attributes.Key), x, ""), "{}@@"); | ||
| 391 | + Description = VRH.Common.StringConstructor.ResolveConstructorR(ArgumentParametersDictionary, GetValue(nameof(XmlStructure.ExternalUtility.Attributes.Description), x, Exe), "{}@@"); | ||
| 392 | + Arguments = VRH.Common.StringConstructor.ResolveConstructorR(ArgumentParametersDictionary, GetValue(nameof(XmlStructure.ExternalUtility.Attributes.Arguments), x, XmlStructure.ExternalUtility.Attributes.Arguments.Values.DEFAULT), "{}@@"); | ||
| 393 | + | ||
| 394 | + Exe = GetValue(nameof(XmlStructure.ExternalUtility.Attributes.Exe), x, ""); | ||
| 386 | ProcessWindowsStyle = GetValue<ProcessWindowStyle>(nameof(XmlStructure.ExternalUtility.Attributes.WindowStyle), x, XmlStructure.ExternalUtility.Attributes.WindowStyle.Values.DEFAULT); | 395 | ProcessWindowsStyle = GetValue<ProcessWindowStyle>(nameof(XmlStructure.ExternalUtility.Attributes.WindowStyle), x, XmlStructure.ExternalUtility.Attributes.WindowStyle.Values.DEFAULT); |
| 387 | WaitForExit= GetValue(nameof(XmlStructure.ExternalUtility.Attributes.WaitForExit), x, XmlStructure.ExternalUtility.Attributes.WaitForExit.Values.DEFAULT); | 396 | WaitForExit= GetValue(nameof(XmlStructure.ExternalUtility.Attributes.WaitForExit), x, XmlStructure.ExternalUtility.Attributes.WaitForExit.Values.DEFAULT); |
| 388 | Valid = !string.IsNullOrWhiteSpace(Key) && !string.IsNullOrWhiteSpace(Exe) && !string.IsNullOrWhiteSpace(Description); | 397 | Valid = !string.IsNullOrWhiteSpace(Key) && !string.IsNullOrWhiteSpace(Exe) && !string.IsNullOrWhiteSpace(Description); |
| 389 | } | 398 | } |
| 390 | public string Key = XmlStructure.ExternalUtility.Attributes.Key.Values.DEFAULT; | 399 | public string Key = XmlStructure.ExternalUtility.Attributes.Key.Values.DEFAULT; |
| 391 | public string Description = XmlStructure.ExternalUtility.Attributes.Description.Values.DEFAULT; | 400 | public string Description = XmlStructure.ExternalUtility.Attributes.Description.Values.DEFAULT; |
| 401 | + public string Arguments = XmlStructure.ExternalUtility.Attributes.Arguments.Values.DEFAULT; | ||
| 402 | + public Dictionary<string,string> ArgumentParametersDictionary = null; | ||
| 392 | public string Exe = XmlStructure.ExternalUtility.Attributes.Exe.Values.DEFAULT; | 403 | public string Exe = XmlStructure.ExternalUtility.Attributes.Exe.Values.DEFAULT; |
| 393 | public ProcessWindowStyle ProcessWindowsStyle = XmlStructure.ExternalUtility.Attributes.WindowStyle.Values.DEFAULT; | 404 | public ProcessWindowStyle ProcessWindowsStyle = XmlStructure.ExternalUtility.Attributes.WindowStyle.Values.DEFAULT; |
| 394 | public bool WaitForExit=XmlStructure.ExternalUtility.Attributes.WaitForExit.Values.DEFAULT; | 405 | public bool WaitForExit=XmlStructure.ExternalUtility.Attributes.WaitForExit.Values.DEFAULT; |
| 395 | public bool Valid; | 406 | public bool Valid; |
| 407 | + | ||
| 408 | + private static KeyValuePair<string, string> CreateKVP(string kvpstring) | ||
| 409 | + { | ||
| 410 | + string kvpk = null; | ||
| 411 | + string kvpv = null; | ||
| 412 | + try | ||
| 413 | + { | ||
| 414 | + kvpk = kvpstring.Split(new char[] { '=' }, StringSplitOptions.RemoveEmptyEntries)[0]; if (string.IsNullOrWhiteSpace(kvpk)) { kvpk = null; } | ||
| 415 | + kvpv = kvpstring.Split(new char[] { '=' }, StringSplitOptions.RemoveEmptyEntries)[1]; | ||
| 416 | + KeyValuePair<string, string> r = new KeyValuePair<string, string>(kvpk, kvpv); | ||
| 417 | + return r; | ||
| 418 | + } | ||
| 419 | + catch { return new KeyValuePair<string, string>(kvpk, null); } | ||
| 420 | + } | ||
| 396 | } | 421 | } |
| 397 | public XElement RegexpTesterConfig; | 422 | public XElement RegexpTesterConfig; |
| 398 | public XElement PingerConfigXml; | 423 | public XElement PingerConfigXml; |
| @@ -446,6 +471,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -446,6 +471,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
| 446 | public static class Key { public static class Values { public static string DEFAULT = ""; } } | 471 | public static class Key { public static class Values { public static string DEFAULT = ""; } } |
| 447 | public static class Description { public static class Values { public static string DEFAULT = ""; } } | 472 | public static class Description { public static class Values { public static string DEFAULT = ""; } } |
| 448 | public static class Exe { public static class Values { public static string DEFAULT = ""; } } | 473 | public static class Exe { public static class Values { public static string DEFAULT = ""; } } |
| 474 | + public static class Arguments{ public static class Values { public static string DEFAULT = ""; } } | ||
| 475 | + public static class ArgumentParameters { public static class Values { public static string DEFAULT = ""; } } | ||
| 449 | public static class WindowStyle { public static class Values { public static ProcessWindowStyle DEFAULT = ProcessWindowStyle.Normal; } } | 476 | public static class WindowStyle { public static class Values { public static ProcessWindowStyle DEFAULT = ProcessWindowStyle.Normal; } } |
| 450 | public static class WaitForExit { public static class Values { public static bool DEFAULT = true; } } | 477 | public static class WaitForExit { public static class Values { public static bool DEFAULT = true; } } |
| 451 | } | 478 | } |
Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs
| @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; | @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; | ||
| 32 | // You can specify all the values or you can default the Build and Revision Numbers | 32 | // You can specify all the values or you can default the Build and Revision Numbers |
| 33 | // by using the '*' as shown below: | 33 | // by using the '*' as shown below: |
| 34 | // [assembly: AssemblyVersion("1.0.*")] | 34 | // [assembly: AssemblyVersion("1.0.*")] |
| 35 | -[assembly: AssemblyVersion("1.9.3.0")] | ||
| 36 | -[assembly: AssemblyFileVersion("1.9.3.0")] | 35 | +[assembly: AssemblyVersion("1.10.0.0")] |
| 36 | +[assembly: AssemblyFileVersion("1.10.0.0")] |