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/IRC__Alerter.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/client/alerters/IRC__Alerter.java (file contents):
Revision 1.6 by tdb, Fri Mar 2 02:46:56 2001 UTC vs.
Revision 1.7 by tdb, Sat Mar 3 01:09:53 2001 UTC

# Line 32 | Line 32 | public class IRC__Alerter implements PluginAlerter {
32   //---CONSTRUCTORS---
33  
34      public IRC__Alerter() {
35 <        // get the configuration for this alerter
36 <        Configuration config = ReferenceManager.getInstance().getCM().getConfiguration(_name);
37 <              
38 <        // an integer value
39 <        _level = Integer.parseInt(config.getProperty("Alerter.IRC.level"));
40 <        // the hostname of the IRC server
41 <        _IRCServer = config.getProperty("Alerter.IRC.IRCServer");
42 <        // the port number of the IRC server
43 <        _IRCPort = Integer.parseInt(config.getProperty("Alerter.IRC.IRCPort"));
44 <        // the nickname to use
45 <        _nick = config.getProperty("Alerter.IRC.nick");
46 <        // the channel to join
47 <        _channel = config.getProperty("Alerter.IRC.channel");
48 <        // a message with the following: %level% and %message%
49 <        _message = config.getProperty("Alerter.IRC.message");
50 <        
35 >                        
36          // connect to the IRC server
37          _ircbot = null;
38          try {
39              _ircbot = new IRCBot();
40              _ircbot.connect();
41 <            _ircbot.sendNotice("iscreamBot activated");
41 >            _ircbot.sendNotice("i-scream alerting bot activated");
42          } catch(IOException e) {
43              _logger.write(toString(), Logger.ERROR, "Error starting IRCBot: "+e);
44          }
# Line 64 | Line 49 | public class IRC__Alerter implements PluginAlerter {
49   //---PUBLIC METHODS---
50  
51      public void sendAlert(Alert alert) {
52 +        ConfigurationProxy cp = ConfigurationProxy.getInstance();
53 +        int level = Integer.parseInt(cp.getProperty(_name, "Alerter.IRC.level"));
54          // only send if it's equal (or above) our level
55 <        if(alert.getLevel() >= _level) {
55 >        if(alert.getLevel() >= level) {
56              String alertType = Alert.alerts[alert.getLevel()]+"["+String.valueOf(alert.getLevel())+"]";
57              // sort out the message
58 <            String message = _message;
58 >            String message = cp.getProperty(_name, "Alerter.IRC.message");
59              message = StringUtils.replaceText(message, "%level%", alertType);
60              message = StringUtils.replaceText(message, "%source%", alert.getSource());
61              message = StringUtils.replaceText(message, "%value%", alert.getValue());
# Line 109 | Line 96 | public class IRC__Alerter implements PluginAlerter {
96   //---ACCESSOR/MUTATOR METHODS---
97  
98   //---ATTRIBUTES---
112
113    // an integer value
114    private int _level;
99      
100 <    // the hostname of the IRC server
101 <    private String _IRCServer;
102 <    
119 <    // the port number of the IRC server
120 <    private int _IRCPort;
121 <    
122 <    // the nickname to use
123 <    private String _nick;
124 <    
125 <    // the channel to join
126 <    private String _channel;
127 <    
128 <    // the ircbot
100 >    /**
101 >     * A reference to the IRCBot
102 >     */
103      private IRCBot _ircbot;
104      
131    // a message with the following: %level% and %message%
132    private String _message;
133    
105      /**
106       * This is the friendly identifier of the
107       * component this class is running in.
# Line 209 | Line 180 | public class IRC__Alerter implements PluginAlerter {
180           * @throws IOException if the connection fails
181           */
182          public void connect() throws IOException {
183 +            ConfigurationProxy cp = ConfigurationProxy.getInstance();
184              // setup the socket, reader and writer
185 <            _socket = new Socket(_IRCServer, _IRCPort);
185 >            String server = cp.getProperty(_name, "Alerter.IRC.IRCServer");
186 >            int port = Integer.parseInt(cp.getProperty(_name, "Alerter.IRC.IRCPort"));
187 >            _socket = new Socket(server, port);
188              _socketIn = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
189              _socketOut = new PrintWriter(_socket.getOutputStream(), true);
190              // send the various log in messages
191              _socketOut.println("PASS");
192 <            _socketOut.println("NICK "+_nick);  
193 <            _socketOut.println("USER iscream 8 * :i-scream Bot");
192 >            _socketOut.println("NICK "+cp.getProperty(_name, "Alerter.IRC.nick"));  
193 >            _socketOut.println("USER i-scream 8 * :i-scream alerter bot");
194              // join the channel
195 +            _channel = cp.getProperty(_name, "Alerter.IRC.channel");
196              _socketOut.println("JOIN "+_channel);
197              // start our listening thread
198              this.start();
# Line 236 | Line 211 | public class IRC__Alerter implements PluginAlerter {
211              _socketIn.close();
212              _socket.close();
213          }
214 <                        
214 >        
215          /**
216           * The socket connected to the server
217           */
# Line 252 | Line 227 | public class IRC__Alerter implements PluginAlerter {
227           */
228          private BufferedReader _socketIn;
229          
230 +        /**
231 +         * Just a reminder to what channel we're on...
232 +         * this can't be dynamic :)
233 +         */
234 +        private String _channel;
235      }
236  
237   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines