From 783ed58311a2a419e332187715f6139fcbf21708 Mon Sep 17 00:00:00 2001 From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch> Date: Thu, 15 Feb 2018 12:37:20 +0100 Subject: [PATCH] Use C# 6.0 style for setting defaults on auto-properties. This way the value is directly visible in the code where the property is created, improving readability. Setting defaults in the constructor is therefore not necessary any more. Refers to #29 --- ATxCommon/Serializables/ServiceConfig.cs | 78 ++++++++---------------- 1 file changed, 26 insertions(+), 52 deletions(-) diff --git a/ATxCommon/Serializables/ServiceConfig.cs b/ATxCommon/Serializables/ServiceConfig.cs index 525202c..c451713 100644 --- a/ATxCommon/Serializables/ServiceConfig.cs +++ b/ATxCommon/Serializables/ServiceConfig.cs @@ -79,9 +79,9 @@ namespace ATxCommon.Serializables #region optional configuration parameters /// <summary> - /// Switch on debug log messages. + /// Switch on debug log messages. Default: false. /// </summary> - public bool Debug { get; set; } + public bool Debug { get; set; } = false; /// <summary> /// The name of a marker file to be placed in all **sub**directories @@ -95,9 +95,9 @@ namespace ATxCommon.Serializables public string SmtpHost { get; set; } /// <summary> - /// SMTP port for sending emails (default: 25). + /// SMTP port for sending emails. Default: 25. /// </summary> - public int SmtpPort { get; set; } + public int SmtpPort { get; set; } = 25; /// <summary> /// SMTP username to authenticate when sending emails (if required). @@ -115,9 +115,9 @@ namespace ATxCommon.Serializables public string EmailFrom { get; set; } /// <summary> - /// A string to be added as a prefix to the subject when sending emails. + /// A prefix to be added to any email subject. Default: "[AutoTx Service] ". /// </summary> - public string EmailPrefix { get; set; } + public string EmailPrefix { get; set; } = "[AutoTx Service] "; /// <summary> /// The mail recipient address for admin notifications (including "Fatal" log messages). @@ -130,36 +130,34 @@ namespace ATxCommon.Serializables public string AdminDebugEmailAdress { get; set; } /// <summary> - /// Flag whether to send a mail notification to the user upon completed transfers. + /// Send an email to the user upon completed transfers. Default: true. /// </summary> - public bool SendTransferNotification { get; set; } + public bool SendTransferNotification { get; set; } = true; /// <summary> - /// Flag whether to send explicit mail notifications to the admin on selected events. + /// Send email notifications to the admin on selected events. Default: true. /// </summary> - public bool SendAdminNotification { get; set; } + public bool SendAdminNotification { get; set; } = true; /// <summary> - /// Minimum time in minutes between two notifications to the admin, default: 60. + /// Minimum time in minutes between two notifications to the admin. Default: 60. /// </summary> - public int AdminNotificationDelta { get; set; } + public int AdminNotificationDelta { get; set; } = 60; /// <summary> - /// Minimum time in minutes between two mails about expired folders in the grace location, - /// default: 720 (12h). + /// Minimum time in minutes between two mails about expired folders. Default: 720 (12h). /// </summary> - public int GraceNotificationDelta { get; set; } + public int GraceNotificationDelta { get; set; } = 720; /// <summary> - /// Minimum time in minutes between two low-space notifications, default: 720 (12h). + /// Minimum time in minutes between two low-space notifications. Default: 720 (12h). /// </summary> - public int StorageNotificationDelta { get; set; } + public int StorageNotificationDelta { get; set; } = 720; /// <summary> - /// GracePeriod: number of days after data in the "DONE" location expires, - /// which will trigger a summary email to the admin address, default: 30. + /// Number of days after data in the "DONE" location expires. Default: 30. /// </summary> - public int GracePeriod { get; set; } + public int GracePeriod { get; set; } = 30; /// <summary> /// A list of process names causing transfers to be suspended if running. @@ -169,10 +167,10 @@ namespace ATxCommon.Serializables public List<string> BlacklistedProcesses { get; set; } /// <summary> - /// EnforceInheritedACLs: whether to enforce ACL inheritance when moving files and - /// directories, see https://support.microsoft.com/en-us/help/320246 for more details. + /// Whether to enforce ACL inheritance when moving files and directories, see + /// https://support.microsoft.com/en-us/help/320246 for more details. Default: false. /// </summary> - public bool EnforceInheritedACLs { get; set; } + public bool EnforceInheritedACLs { get; set; } = false; /// <summary> /// A list of drives and thresholds to monitor free space. @@ -182,10 +180,10 @@ namespace ATxCommon.Serializables public List<DriveToCheck> SpaceMonitoring { get; set; } /// <summary> - /// RoboCopy parameter for limiting the bandwidth (mostly for testing purposes). + /// Limit RoboCopy transfer bandwidth (mostly for testing purposes). Default: 0. /// </summary> /// See the RoboCopy documentation for more details. - public int InterPacketGap { get; set; } + public int InterPacketGap { get; set; } = 0; #endregion @@ -226,34 +224,10 @@ namespace ATxCommon.Serializables /// <summary> - /// Constructor setting default values for optional parameters. - /// </summary> public ServiceConfig() { - Log.Trace("ServiceConfig() constructor, setting defaults."); - // set values for the optional XML elements (NOTE: parameters / variables that do not - // strictly REQUIRE a value are listed here as comments to denote they have not just - // been forgotten but an empty value is fine instead: - - Debug = false; - // MarkerFile may be empty - // SmtpHost may be empty - SmtpPort = 25; - // SmtpUserCredential may be empty - // SmtpPasswortCredential may be empty - // EmailFrom may be empty - EmailPrefix = "[AutoTx Service] "; - // AdminEmailAdress may be empty - // AdminDebugEmailAdress may be empty - SendTransferNotification = true; - SendAdminNotification = true; - AdminNotificationDelta = 60; - GraceNotificationDelta = 720; - StorageNotificationDelta = 720; - GracePeriod = 30; - // BlacklistedProcesses may be empty - EnforceInheritedACLs = true; - // SpaceMonitoring may be empty - InterPacketGap = 0; + /// ServiceConfig constructor, currently empty. + /// </summary> + Log.Trace("ServiceConfig() constructor."); } /// <summary> -- GitLab