com.isti.trinetwatch.emailer
Class ConfigManager

java.lang.Object
  extended by com.isti.trinetwatch.emailer.ConfigManager
Direct Known Subclasses:
Emailer

public class ConfigManager
extends java.lang.Object

Class ConfigManager is the configuration manager for the SNW Emailer.

Emailer Parameters:

 Parameter:  -c  --configFileName
      Specifies a configuration file of property values to be loaded.
 Parameter values placed before this one on the command line may be
 overwritten by property values in the loaded configuration file.  The
 default value is "emailer.ini" (in the current working directory).
 
 Parameter:  -g  --GUIAcceptorRefFile
      Specifies the location of the file holding the IOR reference to the
 GUIAcceptor CORBA object for the NSI server.  The parameter value may be
 a full URL, or, if not a URL, may reference a file.  The default value is
 "gui_acceptor_ior.ref" (in the current working directory).
 
 Parameter:  -x  --maxConnAttempts
      The maximum # of initial connect-to-server attempts allowed before
 the program aborts.  A value of zero corresponds to "infinity," meaning
 that connection attempts will continue indefinitely.  The default value
 is 25.
 
 Parameter:  -b  --maxCommLimit
      The maximum number of station-update communication errors allowed in
 a row before the program is aborted.  A value of zero corresponds to
 "infinity," meaning that communication attempts will continue indefinitely.
 The default value is 10.
 
 Parameter:  -d  --daemonMode
      Specifies that the program is run in "daemon" mode, with no console
 input requested.  The default is false (not "daemon" mode).
 
 Parameter:  -y  --cycleTimeHours
      The cycle time (in hours) between reports, during which station
 information is gathered.  This can be a floating-point number.  The
 default value is 2.0.
 
 Parameter:  -k  --skipNoChgRepsFlag
      Specifies that a report will be generated only when station
 performance changes have occurred.  The default is false (report
 always generated every cycle).
 
 Parameter:  -u  --updateSleepMS
      The delay between requests for station information updates from the
 server, specified in milliseconds.  The default value is 5000 (5 seconds).
 
 Parameter:  -t  --reportToLevels
      A report item is generated whenever a station switches to one of the
 performance level names specified.  Any number of valid performance level
 names may be listed, separated by commas.  The default value is "Bad".
 
 Parameter:  -f  --reportFromLevels
      A report item is generated whenever a station switches from one of
 the performance level names specified.  Any number of valid performance
 level names may be listed, separated by commas.  The default value is "Bad".
 
 Parameter:  -i  --reportIgnoreLevels
      A report item is not generated if a station switches from or to one of
 the performance level names specified.  Any number of valid performance
 level names may be listed, separated by commas.  The parameter overrides
 the "reportToLevels" and "reportFromLevels" parameters.  The default value
 is "Unknown".
 
 Parameter:  -a  --reportAtLevels
      A report item is generated whenever a station is at one of the
 performance level names specified.  Any number of valid performance level
 names may be listed, separated by commas.  The default value is "Bad".
 
 Parameter:  -N  --noChangeReportFlag
      If set to true then the station change events section of the stations
 report is not generated.  The default value is false (station change
 section generated).
 
 Parameter:  -n  --noDetailReportFlag
      If set to true then the detail section of the stations report is not
 generated.  The default value is false (detail section generated).
 
 Parameter:  -S  --smtpServerName
      The name of SMTP server to use for sending email report messages.
 The default value is an empty string (no emails sent).
 
 Parameter:  -F  --emailFromAddress
      The 'From' address to use for email report and alert messages.  The
 default value is an empty string (no emails sent).
 
 Parameter:  -T  --emailToAddresses
      The list of recipients for email report messages--a comma-separated
 list of email addresses.  The default value is an empty string (no report
 emails sent).
 
 Parameter:  -e  --alertToAddresses
      The list of recipients for email alert messages--a comma-separated
 list of email addresses.  The default value is an empty string (no alert
 emails sent).
 
 Parameter:  -v  --alertTriggerLevels
      An alert email is generated when a station switches to one of the
 performance level names specified and stays at that level for the amount
 of time specified by the 'alertTriggerSecs' parameter (see below).  Any
 number of valid performance level names may be listed, separated by commas.
 The default value is an empty string (no alert emails sent).
 
 Parameter:  -A  --alertTriggerSecs
      An alert email is generated when a station (or subset) switches to one
 of the performance level names specified by the 'alertTriggerLevels' (or
 'alertSubsetLevels') parameter and stays at that level for the amount of
 time (in seconds) specified by this parameter.  The default value is zero
 (no delay before alert email is sent).
 
 Parameter:  -U  --alertSubsetLevels
      An alert email is generated when all the stations in a subset switch
 to one of the performance level names specified and stays at that level
 for the amount of time specified by the 'alertTriggerSecs' parameter
 (and the 'alertSubsetLevelsFlag' parameter is not set to 'false').
 Eligible subsets and stations are configured at the server.  Any number
 of valid performance level names may be listed, separated by commas.  The
 operation of this parameter may be affected by the 'alertSelectSubsets'
 and 'alertIgnoreSubsets' parameters.  Specifying performance-level names
 via this parameter will also result in same-performance subsets being noted
 in the emailer reports.  The default value is an empty string (no alert
 emails sent).
 
 Parameter:  -B  --alertSubsetLevelsFlag
      This optional flag parameter may be used to control whether or not
 alert email messages are sent when all the stations in a subset switch
 to any one of the performance levels specified by the 'alertSubsetLevels'
 parameter.  The default value is true (enabled) if 'alertSubsetLevelsFlag'
 contains level names, otherwise false (disabled).
 
 Parameter:  -M  --alertSelectSubsets
      This parameter may be used to specify a list of subset names to be that
 must be matched when generating alert emails via the 'alertSubsetLevels'
 parameter.  Any number of name strings may be listed, separated by commas
 and with each name surrounded by double-quote characters (").  A simple
 string-match algorithm is used, where an alert email is generated only when
 any part of a given subset name matches any 'alertSelectSubsets' entry.
 If this parameter is not specified or is set to an empty string then all
 subset names will be accepted.  If both the 'alertSelectSubsets' and
 'alertIgnoreSubsets' parameters are specified then the 'alertSelectSubsets'
 parameter will take precedence and the 'alertIgnoreSubsets' parameter will
 have no effect.
 
 Parameter:  -O  --alertIgnoreSubsets
      A list of subset names to be ignored when generating alert emails via
 the 'alertSubsetLevels' parameter.  Any number of name strings may be
 listed, separated by commas and with each name surrounded by double-quote
 characters (").  A simple string-match algorithm is used, where if any
 part of a given subset name matches any 'alertIgnoreSubsets' entry then
 the subset is ignored.  If this parameter is not specified or is set to
 an empty string then no subset names will be ignored.  If both the
 'alertSelectSubsets' and 'alertIgnoreSubsets' parameters are specified
 then the 'alertSelectSubsets' parameter will take precedence and the
 'alertIgnoreSubsets' parameter will have no effect.
 
 Parameter:  -s  --alertShortMsgFlag
      If set to true then a short version of the alert message is
 generated.  This short message can be easier to read if viewed on small
 displays.  The default value is false (normal-sized message generated).
 
 Parameter:  -j  --reportSubject
      If this parameter is set to a non-empty string then the given string
 will be used as the "Subject:" line entry on all email report messages;
 otherwise the program generates a subject line for the email messages.
 The default value is an empty string (program generated subject lines).
 
 Parameter:  -J  --alertSubject
      If this parameter is set to a non-empty string then the given string
 will be used as the "Subject:" line entry on all email alert messages;
 otherwise the program generates a subject line for the email messages.
 The default value is an empty string (program generated subject lines).
 
 Parameter:  -I  --initSMTPTimeoutSec
      The timeout value for the initial connection test to the SMTP server,
 specified in seconds.  The default value is 10 (seconds).
 
 Parameter:  -E  --sendSMTPTimeoutSec
      The timeout value for the send-mail connections made to the SMTP
 server, specified in seconds.  The default value is 120 (2 minutes).
 
 Parameter:  -P  --dontSendPartialFlag
      If set to false, and a message has some valid and some invalid
 addresses, then the message is sent anyway.  If set to true, the message
 is not sent to any of the recipients if there is an invalid recipient
 address.  The default is false (send message anyway).
 
 Parameter:  -D  --mailDebugFlag
      If set to true then JavaMail session debug messages will be sent to
 the console.  The default is false (no debug messages).
 
 Parameter:  -o  --consoleRedirectFileName
      Specifies a filename that the "standard" output and "standard" error
 console output streams are redirected into.  The default value is an empty
 string (for no redirection).
 
 Parameter:  -l  --logFileName
      The filename for log message data output.  The default value is
 "emailer.log" (in the current working directory).
 
 Parameter:  -L  --logfileLogLevel
      Specifies the level of log data send to log file.  The allowed values
 are:  ALL_MSGS, DEBUG, INFO, WARNING, ERROR, NO_MSGS.  The default value
 is INFO.
 
 Parameter:  -C  --consoleLogLevel
      Specifies the level of log data send to display console.  The allowed
 values are:  ALL_MSGS, DEBUG, INFO, WARNING, ERROR, NO_MSGS.  The default
 value is ERROR.
 
 Parameter:  -m  --consoleMonitor
      Specifies that a live console monitor of station updates is displayed.
 The default is false (no live monitor).
 
 Parameter:  -r  --reportsFileName
      The filename in which to save copies of emailed report messages.  The
 default value is "emailer_reports.txt" (in the current working directory).
 
 Parameter:  --mailPropsFileName
      The mail properties filename.  The default value is an empty string
 for none.
 
 Parameter:  -ver  --version
      Displays the program version information.
 
 Parameter:  -h  --help
      Displays a "help" screen of parameter information.
 


Field Summary
protected  CfgPropItem alertIgnoreSubsetsProp
           
protected  CfgPropItem alertSelectSubsetsProp
           
protected  CfgPropItem alertShortMsgFlagProp
           
protected  CfgPropItem alertSubjectProp
           
protected  CfgPropItem alertSubsetLevelsFlagProp
           
protected  CfgPropItem alertSubsetLevelsProp
           
protected  CfgPropItem alertToAddressesProp
           
protected  CfgPropItem alertTriggerLevelsProp
           
protected  CfgPropItem alertTriggerSecsProp
           
protected  CfgProperties cfgProps
           
protected  CfgPropItem consoleLogLevelProp
           
protected  CfgPropItem consoleMonitorProp
           
protected  CfgPropItem consoleRedirectFileNameProp
           
protected  CfgPropItem cycleTimeHoursProp
           
protected  CfgPropItem daemonModeProp
           
protected  CfgPropItem dontSendPartialFlagProp
           
protected  CfgPropItem emailFromAddressProp
           
protected  CfgPropItem emailToAddressesProp
           
protected  CfgPropItem GUIAcceptorRefFileProp
           
protected  CfgPropItem initSMTPTimeoutSecProp
           
protected  CfgPropItem logfileLogLevelProp
           
protected  CfgPropItem logFileNameProp
           
protected  CfgPropItem mailDebugFlagProp
           
protected  CfgPropItem mailPropsFileNameProp
           
protected  CfgPropItem maxCommLimitProp
           
protected  CfgPropItem maxConnAttemptsProp
           
protected  CfgPropItem noChangeReportFlagProp
           
protected  CfgPropItem noDetailReportFlagProp
           
protected  CfgPropItem reportAtLevelsProp
           
protected  CfgPropItem reportFromLevelsProp
           
protected  CfgPropItem reportIgnoreLevelsProp
           
protected  CfgPropItem reportsFileNameProp
           
protected  CfgPropItem reportSubjectProp
           
protected  CfgPropItem reportToLevelsProp
           
protected  CfgPropItem sendSMTPTimeoutSecProp
           
protected  CfgPropItem skipNoChgRepsFlagProp
           
protected  CfgPropItem smtpServerNameProp
           
protected  CfgPropItem updateSleepMSProp
           
 
Constructor Summary
ConfigManager()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cfgProps

protected final CfgProperties cfgProps

GUIAcceptorRefFileProp

protected final CfgPropItem GUIAcceptorRefFileProp

maxConnAttemptsProp

protected final CfgPropItem maxConnAttemptsProp

maxCommLimitProp

protected final CfgPropItem maxCommLimitProp

daemonModeProp

protected final CfgPropItem daemonModeProp

cycleTimeHoursProp

protected final CfgPropItem cycleTimeHoursProp

skipNoChgRepsFlagProp

protected final CfgPropItem skipNoChgRepsFlagProp

updateSleepMSProp

protected final CfgPropItem updateSleepMSProp

reportToLevelsProp

protected final CfgPropItem reportToLevelsProp

reportFromLevelsProp

protected final CfgPropItem reportFromLevelsProp

reportIgnoreLevelsProp

protected final CfgPropItem reportIgnoreLevelsProp

reportAtLevelsProp

protected final CfgPropItem reportAtLevelsProp

noChangeReportFlagProp

protected final CfgPropItem noChangeReportFlagProp

noDetailReportFlagProp

protected final CfgPropItem noDetailReportFlagProp

smtpServerNameProp

protected final CfgPropItem smtpServerNameProp

emailFromAddressProp

protected final CfgPropItem emailFromAddressProp

emailToAddressesProp

protected final CfgPropItem emailToAddressesProp

alertToAddressesProp

protected final CfgPropItem alertToAddressesProp

alertTriggerLevelsProp

protected final CfgPropItem alertTriggerLevelsProp

alertTriggerSecsProp

protected final CfgPropItem alertTriggerSecsProp

alertSubsetLevelsProp

protected final CfgPropItem alertSubsetLevelsProp

alertSubsetLevelsFlagProp

protected final CfgPropItem alertSubsetLevelsFlagProp

alertSelectSubsetsProp

protected final CfgPropItem alertSelectSubsetsProp

alertIgnoreSubsetsProp

protected final CfgPropItem alertIgnoreSubsetsProp

alertShortMsgFlagProp

protected final CfgPropItem alertShortMsgFlagProp

reportSubjectProp

protected final CfgPropItem reportSubjectProp

alertSubjectProp

protected final CfgPropItem alertSubjectProp

initSMTPTimeoutSecProp

protected final CfgPropItem initSMTPTimeoutSecProp

sendSMTPTimeoutSecProp

protected final CfgPropItem sendSMTPTimeoutSecProp

dontSendPartialFlagProp

protected final CfgPropItem dontSendPartialFlagProp

mailDebugFlagProp

protected final CfgPropItem mailDebugFlagProp

consoleRedirectFileNameProp

protected final CfgPropItem consoleRedirectFileNameProp

logFileNameProp

protected final CfgPropItem logFileNameProp

logfileLogLevelProp

protected final CfgPropItem logfileLogLevelProp

consoleLogLevelProp

protected final CfgPropItem consoleLogLevelProp

consoleMonitorProp

protected final CfgPropItem consoleMonitorProp

reportsFileNameProp

protected final CfgPropItem reportsFileNameProp

mailPropsFileNameProp

protected final CfgPropItem mailPropsFileNameProp
Constructor Detail

ConfigManager

public ConfigManager()