Commit 41698df242496be7da6f224e5ea292680ae7f158

Authored by Schwirg László
1 parent b629ffb6

v1.10.0.0

- Külső exe indítás paraméterezhetőségeése
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")]