You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2007/09/07 15:01:14 UTC
svn commit: r573562 - in /maven/continuum/trunk:
continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/
continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/
continuum-webapp/src/m...
Author: evenisse
Date: Fri Sep 7 06:01:13 2007
New Revision: 573562
URL: http://svn.apache.org/viewvc?rev=573562&view=rev
Log:
[CONTINUUM-522] Add ssl support
Modified:
maven/continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcGroupNotifierEditAction.java
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcProjectNotifierEditAction.java
maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties
maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierIrc.jsp
Modified: maven/continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java?rev=573562&r1=573561&r2=573562&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java (original)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java Fri Sep 7 06:01:13 2007
@@ -36,6 +36,8 @@
import org.schwering.irc.lib.IRCEventListener;
import org.schwering.irc.lib.IRCModeParser;
import org.schwering.irc.lib.IRCUser;
+import org.schwering.irc.lib.ssl.SSLDefaultTrustManager;
+import org.schwering.irc.lib.ssl.SSLIRCConnection;
import java.io.IOException;
import java.util.HashMap;
@@ -101,22 +103,32 @@
// Internal connections
// ----------------------------------------------------------------------
private IRCConnection getIRConnection( String host, int port, String password, String nick, String userName,
- String realName, String channel )
+ String realName, String channel, boolean ssl )
throws IOException
{
String key = host.toUpperCase() + Integer.toString( port );
- IRCConnection ircConnection = hostConnections.get( key );
- if ( ircConnection != null )
+ IRCConnection conn = hostConnections.get( key );
+ if ( conn != null )
{
- checkConnection( ircConnection );
- return ircConnection;
+ checkConnection( conn );
+ return conn;
}
- ircConnection = new IRCConnection( host, new int[]{port}, password, nick, userName, realName );
- ircConnection.addIRCEventListener( new Listener() );
- checkConnection( ircConnection );
- ircConnection.doJoin( channel );
- hostConnections.put( key, ircConnection );
- return ircConnection;
+
+ if ( !ssl )
+ {
+ conn = new IRCConnection( host, new int[]{port}, password, nick, userName, realName );
+ }
+ else
+ {
+ conn = new SSLIRCConnection( host, new int[]{port}, password, nick, userName, realName );
+ ( (SSLIRCConnection) conn ).addTrustManager( new SSLDefaultTrustManager() );
+ }
+
+ conn.addIRCEventListener( new Listener() );
+ checkConnection( conn );
+ conn.doJoin( channel );
+ hostConnections.put( key, conn );
+ return conn;
}
private void checkConnection( IRCConnection conn )
@@ -125,6 +137,15 @@
if ( !conn.isConnected() )
{
conn.connect();
+ //required for some servers that are slow to initialise the connection, in most of case, servers with auth
+ try
+ {
+ Thread.sleep( 5000 );
+ }
+ catch ( InterruptedException e )
+ {
+ //nothing to do
+ }
}
}
@@ -208,9 +229,12 @@
String password = (String) configuration.get( "password" );
+ boolean isSsl = Boolean.parseBoolean( (String) configuration.get( "ssl" ) );
+
try
{
- IRCConnection ircConnection = getIRConnection( host, port, password, login, fullName, fullName, channel );
+ IRCConnection ircConnection =
+ getIRConnection( host, port, password, login, fullName, fullName, channel, isSsl );
ircConnection.doPrivmsg( channel, generateMessage( project, build ) );
}
catch ( IOException e )
@@ -354,7 +378,7 @@
public void onNotice( String target, IRCUser u, String msg )
{
- getLogger().debug( target + "> " + u.getNick() + " (notice): " + msg );
+ getLogger().info( target + "> " + u.getNick() + " (notice): " + msg );
}
public void onPart( String chan, IRCUser u, String msg )
@@ -374,7 +398,7 @@
public void onReply( int num, String value, String msg )
{
- getLogger().debug( "Reply #" + num + ": " + value + " " + msg );
+ getLogger().info( "Reply #" + num + ": " + value + " " + msg );
}
public void onTopic( String chan, IRCUser u, String topic )
Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcGroupNotifierEditAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcGroupNotifierEditAction.java?rev=573562&r1=573561&r2=573562&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcGroupNotifierEditAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcGroupNotifierEditAction.java Fri Sep 7 06:01:13 2007
@@ -49,6 +49,8 @@
private String password;
+ private boolean ssl = false;
+
protected void initConfiguration( Map configuration )
{
host = (String) configuration.get( "host" );
@@ -65,6 +67,11 @@
fullName = (String) configuration.get( "fullName" );
password = (String) configuration.get( "password" );
+
+ if ( configuration.get( "ssl" ) != null )
+ {
+ ssl = Boolean.parseBoolean( (String) configuration.get( "ssl" ) );
+ }
}
protected void setNotifierConfiguration( ProjectNotifier notifier )
@@ -83,6 +90,8 @@
configuration.put( "password", password );
+ configuration.put( "ssl", String.valueOf( ssl ) );
+
notifier.setConfiguration( configuration );
}
@@ -144,5 +153,15 @@
public void setPassword( String password )
{
this.password = password;
+ }
+
+ public boolean isSsl()
+ {
+ return ssl;
+ }
+
+ public void setSsl( boolean ssl )
+ {
+ this.ssl = ssl;
}
}
Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcProjectNotifierEditAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcProjectNotifierEditAction.java?rev=573562&r1=573561&r2=573562&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcProjectNotifierEditAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/IrcProjectNotifierEditAction.java Fri Sep 7 06:01:13 2007
@@ -44,6 +44,8 @@
private String password;
+ private boolean ssl = false;
+
protected void initConfiguration( Map configuration )
{
host = (String) configuration.get( "host" );
@@ -60,6 +62,11 @@
fullName = (String) configuration.get( "fullName" );
password = (String) configuration.get( "password" );
+
+ if ( configuration.get( "ssl" ) != null )
+ {
+ ssl = Boolean.parseBoolean( (String) configuration.get( "ssl" ) );
+ }
}
protected void setNotifierConfiguration( ProjectNotifier notifier )
@@ -78,6 +85,8 @@
configuration.put( "password", password );
+ configuration.put( "ssl", String.valueOf( ssl ) );
+
notifier.setConfiguration( configuration );
}
@@ -139,5 +148,15 @@
public void setPassword( String password )
{
this.password = password;
+ }
+
+ public boolean isSsl()
+ {
+ return ssl;
+ }
+
+ public void setSsl( boolean ssl )
+ {
+ this.ssl = ssl;
}
}
Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=573562&r1=573561&r2=573562&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties Fri Sep 7 06:01:13 2007
@@ -407,6 +407,7 @@
notifier.irc.nick.label = Nick Name
notifier.irc.fullName.label = Full Name
notifier.irc.password.label = Password
+notifier.irc.isSSL.label = SSL
notifier.jabber.host.label = Jabber Host
notifier.jabber.port.label = Jabber port
notifier.jabber.login.label = Jabber login
Modified: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierIrc.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierIrc.jsp?rev=573562&r1=573561&r2=573562&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierIrc.jsp (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierIrc.jsp Fri Sep 7 06:01:13 2007
@@ -57,6 +57,7 @@
<ww:textfield label="%{getText('notifier.irc.nick.label')}" name="nick"/>
<ww:textfield label="%{getText('notifier.irc.fullName.label')}" name="fullName"/>
<ww:password label="%{getText('notifier.irc.password.label')}" name="password"/>
+ <ww:checkbox label="%{getText('notifier.irc.isSSL.label')}" name="ssl" value="ssl" fieldValue="true"/>
<ww:checkbox label="%{getText('notifier.event.sendOnSuccess')}" name="sendOnSuccess" value="sendOnSuccess" fieldValue="true"/>
<ww:checkbox label="%{getText('notifier.event.sendOnFailure')}" name="sendOnFailure" value="sendOnFailure" fieldValue="true"/>
<ww:checkbox label="%{getText('notifier.event.sendOnError')}" name="sendOnError" value="sendOnError" fieldValue="true"/>