ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/client/alerters/EMail__Alerter.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/client/alerters/EMail__Alerter.java (file contents):
Revision 1.20 by ajm, Thu Mar 22 23:35:22 2001 UTC vs.
Revision 1.24 by tdb, Tue May 29 17:02:34 2001 UTC

# Line 1 | Line 1
1   //---PACKAGE DECLARATION---
2 < package uk.org.iscream.client.alerters;
2 > package uk.org.iscream.cms.server.client.alerters;
3  
4   //---IMPORTS---
5 < import uk.org.iscream.client.*;
6 < import uk.org.iscream.core.*;
7 < import uk.org.iscream.util.*;
8 < import uk.org.iscream.componentmanager.*;
5 > import uk.org.iscream.cms.server.client.*;
6 > import uk.org.iscream.cms.server.core.*;
7 > import uk.org.iscream.cms.server.util.*;
8 > import uk.org.iscream.cms.server.componentmanager.*;
9   import java.io.*;
10   import java.util.StringTokenizer;
11  
# Line 25 | Line 25 | public class EMail__Alerter extends AlerterSkeleton {
25       */
26      public final String REVISION = "$Revision$";
27      
28 +    /**
29 +     * A description of this alerter
30 +     */
31      public final String DESC = "Sends alerts over e-mail.";
32      
30    public final String NOT_CONFIGURED = "<NOT CONFIGURED>";
31    
33   //---STATIC METHODS---
34  
35   //---CONSTRUCTORS---
36  
37   //---PUBLIC METHODS---
38  
39 +    /**
40 +     * Implements the abstract method from the skeleton class.
41 +     * This method will attempt to send an alert
42 +     * message using the configured email configuration.
43 +     *
44 +     * @param alert the alert to send
45 +     */
46      public void sendAlert(Alert alert) {
47 <        String alertType = Alert.alertLevels[alert.getLevel()];
40 <        // sort out the subject
47 >        // get the subject and replace fields
48          String subject;
49          try {
50              subject = _cp.getProperty(_name, "Alerter.EMail.subject");
# Line 47 | Line 54 | public class EMail__Alerter extends AlerterSkeleton {
54          }
55          subject = processAlertMessage(subject, alert);
56                      
57 <        // sort out the message body
57 >        // get the message body and replace fields
58          String message;
59          try {
60              message = _cp.getProperty(_name, "Alerter.EMail.message");
# Line 56 | Line 63 | public class EMail__Alerter extends AlerterSkeleton {
63              _logger.write(toString(), Logger.WARNING, "Alerter.EMail.message value unavailable using default of " + message);
64          }
65          message = processAlertMessage(message, alert);
66 <                    
66 >        
67 >        // attempt to send the actual message
68          try {
69              // create SMTP message
70              Smtp smtp = new Smtp(_cp.getProperty(_name, "Alerter.EMail.smtpServer"));
71              // set our sender
72              smtp.setSender(_cp.getProperty(_name, "Alerter.EMail.sender"));
73              
74 +            // list of destination addresses
75              String destList = _cp.getProperty("Host."+alert.getSource(), "Alerter.EMail.destList");
76              
77              // set the to: list
# Line 73 | Line 82 | public class EMail__Alerter extends AlerterSkeleton {
82  
83              // prepare to print the message            
84              PrintWriter out = smtp.getOutputStream();
85 <            out.println("Subject: "+subject);
77 <            out.println();
85 >            out.println("Subject: "+subject+"\n");
86              
87              // send the message
88              out.println(message);
89              smtp.sendMessage();
90              smtp.close();
91 <            _logger.write(toString(), Logger.DEBUG, "Sending " + _name + " at "+ alertType + " level");
91 >            _logger.write(toString(), Logger.DEBUG, "Sending " + _name + " at "+ Alert.alertLevels[alert.getLevel()] + " level");
92          }
93          catch(IOException e) {
94              _logger.write(toString(), Logger.ERROR, "Error whilst sending message: "+e);
# Line 94 | Line 102 | public class EMail__Alerter extends AlerterSkeleton {
102       * Overrides the {@link java.lang.Object#toString() Object.toString()}
103       * method to provide clean logging (every class should have this).
104       *
105 <     * This uses the uk.org.iscream.util.NameFormat class
105 >     * This uses the uk.org.iscream.cms.server.util.NameFormat class
106       * to format the toString()
107       *
108       * @return the name of this class and its CVS revision
# Line 107 | Line 115 | public class EMail__Alerter extends AlerterSkeleton {
115      }
116  
117      /**
118 <     * return the String representation of what the alerter does
118 >     * Return the String representation of what the alerter does
119 >     *
120 >     * @return the description
121       */
122      public String getDescription(){
123          return DESC;
# Line 116 | Line 126 | public class EMail__Alerter extends AlerterSkeleton {
126   //---PRIVATE METHODS---
127      
128   //---ACCESSOR/MUTATOR METHODS---
129 +    
130 +    /**
131 +     * Returns the "friendly" name of this class. This
132 +     * is simply an accessor for _name, required due to
133 +     * inheritance issues with extending AlerterSkeleton.
134 +     *
135 +     * @return the friendly name
136 +     */
137 +    protected String getFName() {
138 +        return _name;
139 +    }
140  
141   //---ATTRIBUTES---
142      
# Line 129 | Line 150 | public class EMail__Alerter extends AlerterSkeleton {
150       * be changed to null for utility classes.
151       */
152      protected String _name = "EMail";
132
133    /**
134     * This holds a reference to the
135     * system logger that is being used.
136     */
137    private Logger _logger = ReferenceManager.getInstance().getLogger();
153      
154   //---STATIC ATTRIBUTES---
155  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines