You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2010/12/08 07:40:39 UTC
svn commit: r1043319 - in /camel/trunk/components/camel-irc: ./
src/main/java/org/apache/camel/component/irc/
src/test/java/org/apache/camel/component/irc/
Author: ningjiang
Date: Wed Dec 8 06:40:39 2010
New Revision: 1043319
URL: http://svn.apache.org/viewvc?rev=1043319&view=rev
Log:
CAMEL-3351 applied patch with thanks to Tracy
Modified:
camel/trunk/components/camel-irc/pom.xml
camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java
Modified: camel/trunk/components/camel-irc/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/pom.xml?rev=1043319&r1=1043318&r2=1043319&view=diff
==============================================================================
--- camel/trunk/components/camel-irc/pom.xml (original)
+++ camel/trunk/components/camel-irc/pom.xml Wed Dec 8 06:40:39 2010
@@ -68,6 +68,12 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.8.5</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
Modified: camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java?rev=1043319&r1=1043318&r2=1043319&view=diff
==============================================================================
--- camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java (original)
+++ camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java Wed Dec 8 06:40:39 2010
@@ -35,26 +35,15 @@ import org.schwering.irc.lib.ssl.SSLIRCC
*/
public class IrcComponent extends DefaultComponent {
private static final transient Log LOG = LogFactory.getLog(IrcComponent.class);
- private IrcConfiguration configuration;
private final Map<String, IRCConnection> connectionCache = new HashMap<String, IRCConnection>();
- private IRCEventListener ircLogger;
-
- public IrcComponent() {
- configuration = new IrcConfiguration();
- }
-
- public IrcComponent(IrcConfiguration configuration) {
- this.configuration = configuration;
- }
public IrcComponent(CamelContext context) {
super(context);
- configuration = new IrcConfiguration();
}
protected IrcEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
- // lets make sure we copy the configuration as each endpoint can customize its own version
- IrcConfiguration config = getConfiguration().copy();
+ // every endpoint gets it's own configuration
+ IrcConfiguration config = new IrcConfiguration();
config.configure(uri);
IrcEndpoint endpoint = new IrcEndpoint(uri, this, config);
@@ -78,6 +67,7 @@ public class IrcComponent extends Defaul
protected IRCConnection createConnection(IrcConfiguration configuration) {
IRCConnection conn = null;
+ IRCEventListener ircLogger;
if (configuration.getUsingSSL()) {
if (LOG.isDebugEnabled()) {
@@ -85,7 +75,7 @@ public class IrcComponent extends Defaul
+ " nick: " + configuration.getNickname() + " user: " + configuration.getUsername());
}
SSLIRCConnection sconn = new SSLIRCConnection(configuration.getHostname(), configuration.getPorts(), configuration.getPassword(),
- configuration.getNickname(), configuration.getUsername(), configuration.getRealname());
+ configuration.getNickname(), configuration.getUsername(), configuration.getRealname());
sconn.addTrustManager(configuration.getTrustManager());
conn = sconn;
@@ -97,7 +87,7 @@ public class IrcComponent extends Defaul
}
conn = new IRCConnection(configuration.getHostname(), configuration.getPorts(), configuration.getPassword(),
- configuration.getNickname(), configuration.getUsername(), configuration.getRealname());
+ configuration.getNickname(), configuration.getUsername(), configuration.getRealname());
}
conn.setEncoding("UTF-8");
conn.setColors(configuration.isColors());
@@ -140,13 +130,4 @@ public class IrcComponent extends Defaul
protected IRCEventListener createIrcLogger(String hostname) {
return new IrcLogger(LOG, hostname);
}
-
- public IrcConfiguration getConfiguration() {
- return configuration;
- }
-
- public void setConfiguration(IrcConfiguration configuration) {
- this.configuration = configuration;
- }
-
}
Modified: camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java?rev=1043319&r1=1043318&r2=1043319&view=diff
==============================================================================
--- camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java (original)
+++ camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java Wed Dec 8 06:40:39 2010
@@ -20,6 +20,8 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Dictionary;
+import java.util.Hashtable;
import java.util.List;
import org.apache.camel.RuntimeCamelException;
@@ -30,7 +32,7 @@ import org.schwering.irc.lib.ssl.SSLTrus
public class IrcConfiguration implements Cloneable {
private String target;
private List<String> channels = new ArrayList<String>();
- private List<String> keys = new ArrayList<String>();
+ private Dictionary<String, String> keys = new Hashtable<String, String>();
private String hostname;
private String password;
private String nickname;
@@ -49,8 +51,14 @@ public class IrcConfiguration implements
private boolean onReply;
private boolean onTopic = true;
private boolean onPrivmsg = true;
+ private boolean autoRejoin = true;
private int[] ports = {6667, 6668, 6669};
-
+
+ /*
+ * Temporary storage for when keys are listed in the parameters before channels.
+ */
+ private String channelKeys;
+
public IrcConfiguration() {
}
@@ -140,20 +148,32 @@ public class IrcConfiguration implements
addChannel(channel);
}
}
+
+ if (keys.size() == 0 && channelKeys != null) {
+ setKeys(channelKeys);
+ }
}
public void setKeys(String keys) {
- String[] s = keys.split(",");
- for (String key : s) {
- this.keys.add(key);
+ if (channels.size() == 0) {
+ // keys are listed in the parameters before channels
+ // store the string and process after channels
+ channelKeys = keys;
+ } else {
+ String[] s = keys.split(",");
+ int index = 0;
+ for (String key : s) {
+ this.keys.put(channels.get(index), key);
+ index++;
+ }
}
}
- public void setKeys(List<String> keys) {
- this.keys = keys;
+ public String getKey(String channel) {
+ return keys.get(channel);
}
- public List<String> getKeys() {
+ public Dictionary<String, String> getKeys() {
return keys;
}
@@ -313,6 +333,14 @@ public class IrcConfiguration implements
this.onPrivmsg = onPrivmsg;
}
+ public boolean isAutoRejoin() {
+ return autoRejoin;
+ }
+
+ public void setAutoRejoin(boolean autoRejoin) {
+ this.autoRejoin = autoRejoin;
+ }
+
public String toString() {
return "IrcConfiguration[hostname: " + hostname + ", ports=" + Arrays.toString(ports) + ", target: " + target + ", username=" + username + "]";
}
Modified: camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java?rev=1043319&r1=1043318&r2=1043319&view=diff
==============================================================================
--- camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java (original)
+++ camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java Wed Dec 8 06:40:39 2010
@@ -16,12 +16,9 @@
*/
package org.apache.camel.component.irc;
-import java.util.List;
-
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.impl.DefaultConsumer;
-import org.apache.camel.util.ObjectHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.schwering.irc.lib.IRCConnection;
@@ -35,7 +32,7 @@ public class IrcConsumer extends Default
private final IrcConfiguration configuration;
private final IrcEndpoint endpoint;
private final IRCConnection connection;
- private FilteredIRCEventAdapter listener;
+ private IRCEventAdapter listener;
public IrcConsumer(IrcEndpoint endpoint, Processor processor, IRCConnection connection) {
super(endpoint, processor);
@@ -61,39 +58,24 @@ public class IrcConsumer extends Default
@Override
protected void doStart() throws Exception {
super.doStart();
-
- listener = new FilteredIRCEventAdapter();
+ listener = getListener();
connection.addIRCEventListener(listener);
+ endpoint.joinChannels();
+ }
- List<String> channels = endpoint.getConfiguration().getChannels();
- for (String channel : channels) {
-
- // find key for channel
- int ndx = channels.indexOf(channel);
- String key = null;
- if (ndx >= 0) {
- List<String> keys = endpoint.getConfiguration().getKeys();
- if (keys.size() > 0 && ndx < keys.size()) {
- key = keys.get(ndx);
- }
- }
+ public IRCConnection getConnection() {
+ return connection;
+ }
- if (ObjectHelper.isNotEmpty(key)) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Joining: " + channel + " using " + connection.getClass().getName() + " with key " + key);
- }
- connection.doJoin(channel, key);
- } else {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Joining: " + channel + " using " + connection.getClass().getName());
- }
- connection.doJoin(channel);
- }
+ public IRCEventAdapter getListener() {
+ if (listener == null) {
+ listener = new FilteredIRCEventAdapter();
}
+ return listener;
}
- public IRCConnection getConnection() {
- return connection;
+ public void setListener(IRCEventAdapter listener) {
+ this.listener = listener;
}
class FilteredIRCEventAdapter extends IRCEventAdapter {
@@ -136,6 +118,12 @@ public class IrcConsumer extends Default
@Override
public void onKick(String channel, IRCUser user, String passiveNick, String msg) {
+
+ // check to see if I got kick and if so rejoin if autoRejoin is on
+ if (passiveNick.equals(connection.getNick()) && configuration.isAutoRejoin()) {
+ endpoint.joinChannel(channel);
+ }
+
if (configuration.isOnKick()) {
Exchange exchange = endpoint.createOnKickExchange(channel, user, passiveNick, msg);
try {
@@ -205,6 +193,11 @@ public class IrcConsumer extends Default
}
}
}
+
+ @Override
+ public void onError(int num, String msg) {
+ }
+
}
}
Modified: camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java?rev=1043319&r1=1043318&r2=1043319&view=diff
==============================================================================
--- camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java (original)
+++ camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java Wed Dec 8 06:40:39 2010
@@ -16,11 +16,20 @@
*/
package org.apache.camel.component.irc;
+import java.util.List;
+
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.util.ObjectHelper;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.schwering.irc.lib.IRCConnection;
+import org.schwering.irc.lib.IRCEventAdapter;
import org.schwering.irc.lib.IRCModeParser;
import org.schwering.irc.lib.IRCUser;
@@ -30,6 +39,8 @@ import org.schwering.irc.lib.IRCUser;
* @version $Revision$
*/
public class IrcEndpoint extends DefaultEndpoint {
+ private static final transient Log LOG = LogFactory.getLog(IrcEndpoint.class);
+
private IrcBinding binding;
private IrcConfiguration configuration;
private IrcComponent component;
@@ -51,64 +62,55 @@ public class IrcEndpoint extends Default
}
public Exchange createOnPrivmsgExchange(String target, IRCUser user, String msg) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("PRIVMSG", target, user, msg));
return exchange;
}
public Exchange createOnNickExchange(IRCUser user, String newNick) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("NICK", user, newNick));
return exchange;
}
public Exchange createOnQuitExchange(IRCUser user, String msg) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("QUIT", user, msg));
return exchange;
}
public Exchange createOnJoinExchange(String channel, IRCUser user) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("JOIN", channel, user));
return exchange;
}
public Exchange createOnKickExchange(String channel, IRCUser user, String whoWasKickedNick, String msg) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("KICK", channel, user, whoWasKickedNick, msg));
return exchange;
}
public Exchange createOnModeExchange(String channel, IRCUser user, IRCModeParser modeParser) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("MODE", channel, user, modeParser.getLine()));
return exchange;
}
public Exchange createOnPartExchange(String channel, IRCUser user, String msg) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("PART", channel, user, msg));
return exchange;
}
public Exchange createOnReplyExchange(int num, String value, String msg) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("REPLY", num, value, msg));
return exchange;
}
public Exchange createOnTopicExchange(String channel, IRCUser user, String topic) {
- DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
- exchange.setProperty(Exchange.BINDING, getBinding());
+ DefaultExchange exchange = getExchange();
exchange.setIn(new IrcMessage("TOPIC", channel, user, topic));
return exchange;
}
@@ -147,5 +149,63 @@ public class IrcEndpoint extends Default
public void setConfiguration(IrcConfiguration configuration) {
this.configuration = configuration;
}
+
+
+ public void handleIrcError(int num, String msg) {
+ if (IRCEventAdapter.ERR_NICKNAMEINUSE == num) {
+ handleNickInUse();
+ }
+ }
+
+ private void handleNickInUse() {
+ IRCConnection connection = component.getIRCConnection(configuration);
+ String nick = connection.getNick() + "-";
+
+ // hackish but working approach to prevent an endless loop. Abort after 4 nick attempts.
+ if (nick.endsWith("----")) {
+ LOG.error("Unable to set nick: " + nick + " disconnecting");
+ } else {
+ LOG.warn("Unable to set nick: " + nick + " Retrying with " + nick + "-");
+ connection.doNick(nick);
+ // if the nick failure was doing startup channels weren't joined. So join
+ // the channels now. It's a no-op if the channels are already joined.
+ joinChannels();
+ }
+ }
+
+ private DefaultExchange getExchange() {
+ DefaultExchange exchange = new DefaultExchange(this, getExchangePattern());
+ exchange.setProperty(Exchange.BINDING, getBinding());
+ return exchange;
+ }
+
+
+ public void joinChannels() {
+ for (String channel : configuration.getChannels()) {
+ joinChannel(channel);
+ }
+ }
+
+ public void joinChannel(String channel) {
+
+ List<String> channels = configuration.getChannels();
+
+ IRCConnection connection = component.getIRCConnection(configuration);
+
+ // check for key for channel
+ String key = configuration.getKey(channel);
+
+ if (ObjectHelper.isNotEmpty(key)) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Joining: " + channel + " using " + connection.getClass().getName() + " with key " + key);
+ }
+ connection.doJoin(channel, key);
+ } else {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Joining: " + channel + " using " + connection.getClass().getName());
+ }
+ connection.doJoin(channel);
+ }
+ }
}
Modified: camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java?rev=1043319&r1=1043318&r2=1043319&view=diff
==============================================================================
--- camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java (original)
+++ camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java Wed Dec 8 06:40:39 2010
@@ -16,14 +16,15 @@
*/
package org.apache.camel.component.irc;
-import java.util.List;
-
import org.apache.camel.Exchange;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.impl.DefaultProducer;
-import org.apache.camel.util.ObjectHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.schwering.irc.lib.IRCConnection;
+import org.schwering.irc.lib.IRCEventAdapter;
+import org.schwering.irc.lib.IRCModeParser;
+import org.schwering.irc.lib.IRCUser;
public class IrcProducer extends DefaultProducer {
@@ -34,6 +35,7 @@ public class IrcProducer extends Default
private IRCConnection connection;
private IrcEndpoint endpoint;
+ private IRCEventAdapter listener;
public IrcProducer(IrcEndpoint endpoint, IRCConnection connection) {
super(endpoint);
@@ -44,6 +46,11 @@ public class IrcProducer extends Default
public void process(Exchange exchange) throws Exception {
final String msg = exchange.getIn().getBody(String.class);
final String targetChannel = exchange.getIn().getHeader(IrcConstants.IRC_TARGET, String.class);
+
+ if (!connection.isConnected()) {
+ throw new RuntimeCamelException("Lost connection to " + connection.getHost());
+ }
+
if (isMessageACommand(msg)) {
if (LOG.isDebugEnabled()) {
LOG.debug("Sending command: " + msg);
@@ -67,34 +74,12 @@ public class IrcProducer extends Default
@Override
protected void doStart() throws Exception {
super.doStart();
-
- List<String> channels = endpoint.getConfiguration().getChannels();
- for (String channel : endpoint.getConfiguration().getChannels()) {
-
- // find key for channel
- int ndx = channels.indexOf(channel);
- String key = null;
- if (ndx >= 0) {
- List<String> keys = endpoint.getConfiguration().getKeys();
- if (keys.size() > 0 && ndx < keys.size()) {
- key = keys.get(ndx);
- }
- }
-
- if (ObjectHelper.isNotEmpty(key)) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Joining: " + channel + " using " + connection.getClass().getName() + " with key " + key);
- }
- connection.doJoin(channel, key);
- } else {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Joining: " + channel + " using " + connection.getClass().getName());
- }
- connection.doJoin(channel);
- }
- }
+ listener = getListener();
+ connection.addIRCEventListener(listener);
+ endpoint.joinChannels();
}
+
@Override
protected void doStop() throws Exception {
if (connection != null) {
@@ -104,6 +89,7 @@ public class IrcProducer extends Default
}
connection.doPart(channel);
}
+ connection.removeIRCEventListener(listener);
}
super.doStop();
}
@@ -117,4 +103,34 @@ public class IrcProducer extends Default
return false;
}
+ public IRCEventAdapter getListener() {
+ if (listener == null) {
+ listener = new FilteredIRCEventAdapter();
+ }
+ return listener;
+ }
+
+ public void setListener(IRCEventAdapter listener) {
+ this.listener = listener;
+ }
+
+ class FilteredIRCEventAdapter extends IRCEventAdapter {
+
+ @Override
+ public void onKick(String channel, IRCUser user, String passiveNick, String msg) {
+
+ // check to see if I got kick and if so rejoin if autoRejoin is on
+ if (passiveNick.equals(connection.getNick()) && endpoint.getConfiguration().isAutoRejoin()) {
+ endpoint.joinChannel(channel);
+ }
+ }
+
+
+ @Override
+ public void onError(int num, String msg) {
+ IrcProducer.this.endpoint.handleIrcError(num, msg);
+ }
+
+ }
+
}
Modified: camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java?rev=1043319&r1=1043318&r2=1043319&view=diff
==============================================================================
--- camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java (original)
+++ camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java Wed Dec 8 06:40:39 2010
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.irc;
+import java.util.Dictionary;
import java.util.List;
import junit.framework.TestCase;
@@ -90,9 +91,9 @@ public class IrcConfigurationTest extend
List<String> channels = conf.getChannels();
assertEquals(2, channels.size());
assertEquals("#camel", channels.get(0));
- List<String> keys = conf.getKeys();
+ Dictionary<String, String> keys = conf.getKeys();
assertEquals(2, keys.size());
- assertEquals("foo", keys.get(1));
+ assertEquals("foo", conf.getKey("#smx"));
}
@Test
@@ -111,9 +112,9 @@ public class IrcConfigurationTest extend
List<String> channels = conf.getChannels();
assertEquals(2, channels.size());
assertEquals("#camel", channels.get(0));
- List<String> keys = conf.getKeys();
+ Dictionary<String, String> keys = conf.getKeys();
assertEquals(1, keys.size());
- assertEquals("foo", keys.get(0));
+ assertEquals("foo", conf.getKey("#camel"));
assertEquals("Camel Bot", conf.getRealname());
}
@@ -133,10 +134,10 @@ public class IrcConfigurationTest extend
List<String> channels = conf.getChannels();
assertEquals(2, channels.size());
assertEquals("#camel", channels.get(0));
- List<String> keys = conf.getKeys();
+ Dictionary<String, String> keys = conf.getKeys();
assertEquals(2, keys.size());
- assertEquals("foo", keys.get(0));
- assertEquals("bar", keys.get(1));
+ assertEquals("foo", conf.getKey("#camel"));
+ assertEquals("bar", conf.getKey("#smx"));
assertEquals("Camel Bot", conf.getRealname());
}