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")] |