You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/06/25 16:24:53 UTC
svn commit: r550510 - in /activemq/camel/trunk: ./ apache-camel/
apache-camel/src/main/descriptors/ components/ components/camel-irc/
components/camel-irc/src/ components/camel-irc/src/main/
components/camel-irc/src/main/java/ components/camel-irc/src/...
Author: jstrachan
Date: Mon Jun 25 07:24:50 2007
New Revision: 550510
URL: http://svn.apache.org/viewvc?view=rev&rev=550510
Log:
added Noah's camel-irc component for CAMEL-55
Added:
activemq/camel/trunk/components/camel-irc/
activemq/camel/trunk/components/camel-irc/pom.xml (with props)
activemq/camel/trunk/components/camel-irc/src/
activemq/camel/trunk/components/camel-irc/src/main/
activemq/camel/trunk/components/camel-irc/src/main/java/
activemq/camel/trunk/components/camel-irc/src/main/java/org/
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcBinding.java (with props)
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java (with props)
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java (with props)
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java (with props)
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java (with props)
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java (with props)
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java (with props)
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java (with props)
activemq/camel/trunk/components/camel-irc/src/main/resources/
activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/
activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/
activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/
activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/apache/
activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/
activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/
activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc
Modified:
activemq/camel/trunk/apache-camel/pom.xml
activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml
activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml
activemq/camel/trunk/components/pom.xml
activemq/camel/trunk/pom.xml
Modified: activemq/camel/trunk/apache-camel/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/apache-camel/pom.xml?view=diff&rev=550510&r1=550509&r2=550510
==============================================================================
--- activemq/camel/trunk/apache-camel/pom.xml (original)
+++ activemq/camel/trunk/apache-camel/pom.xml Mon Jun 25 07:24:50 2007
@@ -56,6 +56,10 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-irc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-jaxb</artifactId>
</dependency>
<dependency>
@@ -170,8 +174,9 @@
<goal>createbundle</goal>
</goals>
<configuration>
- <includes>camel-activemq,camel-bam,camel-core,camel-cxf,camel-file,camel-http,camel-jaxb,
- camel-jbi,camel-jms,camel-josql,camel-jpa,camel-mail,camel-mina,camel-quartz,camel-rmi,
+ <includes>camel-activemq,camel-bam,camel-core,camel-cxf,camel-file,camel-http,
+ camel-irc,camel-jaxb,camel-jbi,camel-jms,camel-josql,
+ camel-jpa,camel-mail,camel-mina,camel-quartz,camel-rmi,
camel-saxon,camel-script,camel-spring,camel-xmpp,commons-logging</includes>
</configuration>
</execution>
Modified: activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml?view=diff&rev=550510&r1=550509&r2=550510
==============================================================================
--- activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml (original)
+++ activemq/camel/trunk/apache-camel/src/main/descriptors/unix-bin.xml Mon Jun 25 07:24:50 2007
@@ -73,6 +73,7 @@
<include>org.apache.camel:camel-core</include>
<include>org.apache.camel:camel-cxf</include>
<include>org.apache.camel:camel-http</include>
+ <include>org.apache.camel:camel-irc</include>
<include>org.apache.camel:camel-jaxb</include>
<include>org.apache.camel:camel-jbi</include>
<include>org.apache.camel:camel-jms</include>
Modified: activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml?view=diff&rev=550510&r1=550509&r2=550510
==============================================================================
--- activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml (original)
+++ activemq/camel/trunk/apache-camel/src/main/descriptors/windows-bin.xml Mon Jun 25 07:24:50 2007
@@ -79,6 +79,7 @@
<include>org.apache.camel:camel-core</include>
<include>org.apache.camel:camel-cxf</include>
<include>org.apache.camel:camel-http</include>
+ <include>org.apache.camel:camel-irc</include>
<include>org.apache.camel:camel-jaxb</include>
<include>org.apache.camel:camel-jbi</include>
<include>org.apache.camel:camel-jms</include>
Added: activemq/camel/trunk/components/camel-irc/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/pom.xml?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/pom.xml (added)
+++ activemq/camel/trunk/components/camel-irc/pom.xml Mon Jun 25 07:24:50 2007
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>camel-irc</artifactId>
+ <name>Camel :: IRC</name>
+ <description>Camel IRC support</description>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.schwering</groupId>
+ <artifactId>irclib</artifactId>
+ <version>1.04-bsd</version>
+ </dependency>
+
+ <!-- testing -->
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
Propchange: activemq/camel/trunk/components/camel-irc/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcBinding.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcBinding.java?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcBinding.java (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcBinding.java Mon Jun 25 07:24:50 2007
@@ -0,0 +1,24 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.irc;
+
+public class IrcBinding {
+ public Object extractBodyFromIrc(IrcExchange exchange, String message) {
+ return message;
+ }
+}
Propchange: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcBinding.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java Mon Jun 25 07:24:50 2007
@@ -0,0 +1,119 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.irc;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.util.IntrospectionSupport;
+import org.schwering.irc.lib.IRCConnection;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
+
+public class IrcComponent extends DefaultComponent<IrcExchange> {
+
+ private IrcConfiguration configuration;
+
+ public IrcComponent() {
+ configuration = new IrcConfiguration();
+ }
+
+ public IrcComponent(IrcConfiguration configuration) {
+ this.configuration = configuration;
+ }
+
+ public IrcComponent(CamelContext context) {
+ super(context);
+ configuration = new IrcConfiguration();
+ }
+
+ public static IrcComponent ircComponent() {
+ return new IrcComponent();
+ }
+
+ protected IrcEndpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception {
+ IrcConfiguration config = getConfiguration().copy();
+ config.configure(new URI(uri));
+
+ // lets make sure we copy the configuration as each endpoint can customize its own version
+ final IrcEndpoint endpoint = new IrcEndpoint(uri, this, config);
+
+ IntrospectionSupport.setProperties(endpoint.getConfiguration(), parameters);
+ return endpoint;
+ }
+
+ public IrcConfiguration getConfiguration() {
+ return configuration;
+ }
+
+ public void setConfiguration(IrcConfiguration configuration) {
+ this.configuration = configuration;
+ }
+
+ final Map<String, IRCConnection> connectionCache = new HashMap<String, IRCConnection>();
+
+ public synchronized IRCConnection getIRCConnection(IrcConfiguration configuration) {
+ final IRCConnection connection;
+ if (connectionCache.containsKey(configuration.getCacheKey())) {
+ System.out.println("Returning Cached Connection to " + configuration.getHostname() + " " + configuration.getTarget());
+ connection = connectionCache.get(configuration.getCacheKey());
+ } else {
+ connection = createConnection(configuration);
+ connectionCache.put(configuration.getCacheKey(), connection);
+ }
+ return connection;
+ }
+
+ protected IRCConnection createConnection(IrcConfiguration configuration) {
+ System.out.println("Creating Connection to " + configuration.getHostname() + " " + configuration.getTarget());
+
+ final IRCConnection conn = new IRCConnection(configuration.getHostname(), configuration.getPorts(), configuration.getPassword(), configuration.getNickname(), configuration.getUsername(), configuration.getRealname());
+ conn.setEncoding("UTF-8");
+// conn.setDaemon(true);
+ conn.setColors(configuration.isColors());
+ conn.setPong(true);
+
+ try {
+ conn.connect();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return conn;
+ }
+
+ public void closeConnection(String key, IRCConnection connection) {
+ try {
+ connection.doQuit();
+ connection.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ connectionCache.remove(key); // TODO this is probably bad in the for each
+ }
+ }
+
+ @Override
+ protected void doStop() throws Exception {
+ for (Map.Entry<String, IRCConnection> entry : connectionCache.entrySet()) {
+ closeConnection(entry.getKey(), entry.getValue());
+ }
+ super.doStop();
+ }
+}
Propchange: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java Mon Jun 25 07:24:50 2007
@@ -0,0 +1,244 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.irc;
+
+import org.apache.camel.RuntimeCamelException;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+public class IrcConfiguration implements Cloneable {
+
+ String target;
+ String hostname;
+ String password;
+ String nickname;
+ String realname;
+ String username;
+ boolean persistent = true;
+ boolean colors = true;
+ boolean onNick = true;
+ boolean onQuit = true;
+ boolean onJoin = true;
+ boolean onKick = true;
+ boolean onMode = true;
+ boolean onPart = true;
+ boolean onTopic = true;
+ boolean onPrivmsg = true;
+ int[] ports = {6667, 6668, 6669};
+
+ public IrcConfiguration() {
+ }
+
+ public IrcConfiguration(String hostname, String nickname, String displayname, String target) {
+ this.target = target;
+ this.hostname = hostname;
+ this.nickname = nickname;
+ this.username = nickname;
+ this.realname = displayname;
+ }
+
+ public IrcConfiguration(String hostname, String username, String password, String nickname, String displayname, String target) {
+ this.target = target;
+ this.hostname = hostname;
+ this.username = username;
+ this.password = password;
+ this.nickname = nickname;
+ this.realname = displayname;
+ }
+
+ public IrcConfiguration copy() {
+ try {
+ return (IrcConfiguration) clone();
+ }
+ catch (CloneNotSupportedException e) {
+ throw new RuntimeCamelException(e);
+ }
+ }
+
+ public String getCacheKey() {
+ return hostname + ":" + nickname;
+ }
+
+ public void configure(URI uri) {
+ setNickname(uri.getUserInfo());
+ setUsername(uri.getUserInfo());
+ setRealname(uri.getUserInfo());
+ setHostname(uri.getHost());
+ setTarget(uri.getPath().substring(1));
+
+ }
+
+ public String getHostname() {
+ return hostname;
+ }
+
+ public void setHostname(String hostname) {
+ this.hostname = hostname;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public String getNickname() {
+ return nickname;
+ }
+
+ public void setNickname(String nickname) {
+ this.nickname = nickname;
+ }
+
+ public String getRealname() {
+ return realname;
+ }
+
+ public void setRealname(String realname) {
+ this.realname = realname;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public int[] getPorts() {
+ return ports;
+ }
+
+ public void setPorts(int[] ports) {
+ this.ports = ports;
+ }
+
+ public String getTarget() {
+ return target;
+ }
+
+ public void setTarget(String target) {
+ this.target = target;
+ }
+
+ public boolean isPersistent() {
+ return persistent;
+ }
+
+ public void setPersistent(boolean persistent) {
+ this.persistent = persistent;
+ }
+
+ public boolean isColors() {
+ return colors;
+ }
+
+ public void setColors(boolean colors) {
+ this.colors = colors;
+ }
+
+ public boolean isOnNick() {
+ return onNick;
+ }
+
+ public void setOnNick(boolean onNick) {
+ this.onNick = onNick;
+ }
+
+ public boolean isOnQuit() {
+ return onQuit;
+ }
+
+ public void setOnQuit(boolean onQuit) {
+ this.onQuit = onQuit;
+ }
+
+ public boolean isOnJoin() {
+ return onJoin;
+ }
+
+ public void setOnJoin(boolean onJoin) {
+ this.onJoin = onJoin;
+ }
+
+ public boolean isOnKick() {
+ return onKick;
+ }
+
+ public void setOnKick(boolean onKick) {
+ this.onKick = onKick;
+ }
+
+ public boolean isOnMode() {
+ return onMode;
+ }
+
+ public void setOnMode(boolean onMode) {
+ this.onMode = onMode;
+ }
+
+ public boolean isOnPart() {
+ return onPart;
+ }
+
+ public void setOnPart(boolean onPart) {
+ this.onPart = onPart;
+ }
+
+ public boolean isOnTopic() {
+ return onTopic;
+ }
+
+ public void setOnTopic(boolean onTopic) {
+ this.onTopic = onTopic;
+ }
+
+ public boolean isOnPrivmsg() {
+ return onPrivmsg;
+ }
+
+ public void setOnPrivmsg(boolean onPrivmsg) {
+ this.onPrivmsg = onPrivmsg;
+ }
+
+ public String toString() {
+ return "IrcConfiguration{" +
+ "target='" + target + '\'' +
+ ", hostname='" + hostname + '\'' +
+ ", password='" + password + '\'' +
+ ", nickname='" + nickname + '\'' +
+ ", realname='" + realname + '\'' +
+ ", username='" + username + '\'' +
+ ", persistent=" + persistent +
+ ", colors=" + colors +
+ ", onNick=" + onNick +
+ ", onQuit=" + onQuit +
+ ", onJoin=" + onJoin +
+ ", onKick=" + onKick +
+ ", onMode=" + onMode +
+ ", onPart=" + onPart +
+ ", onTopic=" + onTopic +
+ ", onPrivmsg=" + onPrivmsg +
+ ", ports=" + ports +
+ '}';
+ }
+}
Propchange: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java Mon Jun 25 07:24:50 2007
@@ -0,0 +1,183 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.irc;
+
+import org.apache.camel.Processor;
+import org.apache.camel.impl.DefaultConsumer;
+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 IrcConsumer extends DefaultConsumer<IrcExchange> {
+ final private IrcEndpoint endpoint;
+ final private IRCConnection connection;
+ final IrcConfiguration configuration;
+ private FilteredIRCEventAdapter listener = null;
+
+ public IrcConsumer(IrcEndpoint endpoint, Processor processor, IRCConnection connection) {
+ super(endpoint, processor);
+ this.endpoint = endpoint;
+ this.connection = connection;
+ configuration = endpoint.getConfiguration();
+ }
+
+
+ @Override
+ protected void doStop() throws Exception {
+ connection.doPart(endpoint.getConfiguration().getTarget());
+ connection.removeIRCEventListener(listener);
+ }
+
+ @Override
+ protected void doStart() throws Exception {
+ connection.addIRCEventListener(new FilteredIRCEventAdapter(endpoint.getConfiguration().getTarget()));
+ connection.doJoin(endpoint.getConfiguration().getTarget());
+ super.doStart();
+ }
+
+ public IRCConnection getConnection() {
+ return connection;
+ }
+
+ class FilteredIRCEventAdapter extends IRCEventAdapter {
+ final String target;
+
+ public FilteredIRCEventAdapter(String target) {
+ this.target = target;
+ }
+
+
+ @Override
+ public void onNick(IRCUser user, String newNick) {
+ if (configuration.isOnNick()) {
+ IrcExchange exchange = endpoint.createOnNickExchange(user, newNick);
+ try {
+ getProcessor().process(exchange);
+ } catch (Exception e) {
+ // TODO: what should we do when a processing failure occurs??
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void onQuit(IRCUser user, String msg) {
+ if (configuration.isOnQuit()) {
+ IrcExchange exchange = endpoint.createOnQuitExchange(user, msg);
+ try {
+ getProcessor().process(exchange);
+ } catch (Exception e) {
+ // TODO: what should we do when a processing failure occurs??
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void onJoin(String channel, IRCUser user) {
+ if (configuration.isOnJoin()) {
+ if (channel.equals(configuration.getTarget())) {
+ IrcExchange exchange = endpoint.createOnJoinExchange(channel, user);
+ try {
+ getProcessor().process(exchange);
+ } catch (Exception e) {
+ // TODO: what should we do when a processing failure occurs??
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onKick(String channel, IRCUser user, String passiveNick, String msg) {
+ if (configuration.isOnKick()) {
+ if (channel.equals(configuration.getTarget())) {
+ IrcExchange exchange = endpoint.createOnKickExchange(channel, user, passiveNick, msg);
+ try {
+ getProcessor().process(exchange);
+ } catch (Exception e) {
+ // TODO: what should we do when a processing failure occurs??
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onMode(String channel, IRCUser user, IRCModeParser modeParser) {
+ if (configuration.isOnMode()) {
+ if (channel.equals(configuration.getTarget())) {
+ IrcExchange exchange = endpoint.createOnModeExchange(channel, user, modeParser);
+ try {
+ getProcessor().process(exchange);
+ } catch (Exception e) {
+ // TODO: what should we do when a processing failure occurs??
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onPart(String channel, IRCUser user, String msg) {
+ if (configuration.isOnPart()) {
+ if (channel.equals(configuration.getTarget())) {
+ IrcExchange exchange = endpoint.createOnPartExchange(channel, user, msg);
+ try {
+ getProcessor().process(exchange);
+ } catch (Exception e) {
+ // TODO: what should we do when a processing failure occurs??
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onTopic(String channel, IRCUser user, String topic) {
+ if (configuration.isOnTopic()) {
+ if (channel.equals(configuration.getTarget())) {
+ IrcExchange exchange = endpoint.createOnTopicExchange(channel, user, topic);
+ try {
+ getProcessor().process(exchange);
+ } catch (Exception e) {
+ // TODO: what should we do when a processing failure occurs??
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onPrivmsg(String target, IRCUser user, String msg) {
+ if (configuration.isOnPrivmsg()) {
+ if (target.equals(configuration.getTarget())) {
+ IrcExchange exchange = endpoint.createOnPrivmsgExchange(target, user, msg);
+ try {
+ getProcessor().process(exchange);
+ } catch (Exception e) {
+ // TODO: what should we do when a processing failure occurs??
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ }
+}
Propchange: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java Mon Jun 25 07:24:50 2007
@@ -0,0 +1,198 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.irc;
+
+import org.apache.camel.Processor;
+import org.apache.camel.impl.DefaultEndpoint;
+import org.schwering.irc.lib.IRCConnection;
+import org.schwering.irc.lib.IRCModeParser;
+import org.schwering.irc.lib.IRCUser;
+
+import java.io.IOException;
+
+public class IrcEndpoint extends DefaultEndpoint<IrcExchange> {
+
+ private IrcBinding binding;
+ private IrcConfiguration configuration;
+ private IrcComponent component;
+
+ public IrcEndpoint(String endpointUri, IrcComponent component, IrcConfiguration configuration) {
+ super(endpointUri, component);
+ this.component = component;
+ this.configuration = configuration;
+ }
+
+ public boolean isSingleton() {
+ return false;
+ }
+
+ public IrcExchange createExchange() {
+ return new IrcExchange(getContext(), getBinding());
+ }
+
+ public IrcExchange createOnPrivmsgExchange(String target, IRCUser user, String msg) {
+ return new IrcExchange(getContext(), getBinding(), new IrcMessage("PRIVMSG", target, user, msg));
+ }
+
+ public IrcExchange createOnNickExchange(IRCUser user, String newNick) {
+ return new IrcExchange(getContext(), getBinding(), new IrcMessage("NICK", user, newNick));
+ }
+
+ public IrcExchange createOnQuitExchange(IRCUser user, String msg) {
+ return new IrcExchange(getContext(), getBinding(), new IrcMessage("QUIT", user, msg));
+ }
+
+ public IrcExchange createOnJoinExchange(String channel, IRCUser user) {
+ return new IrcExchange(getContext(), getBinding(), new IrcMessage("JOIN", channel, user));
+ }
+
+ public IrcExchange createOnKickExchange(String channel, IRCUser user, String whoWasKickedNick, String msg) {
+ return new IrcExchange(getContext(), getBinding(), new IrcMessage("KICK", channel, user, whoWasKickedNick, msg));
+ }
+
+ public IrcExchange createOnModeExchange(String channel, IRCUser user, IRCModeParser modeParser) {
+ return new IrcExchange(getContext(), getBinding(), new IrcMessage("MODE", channel, user, modeParser.getLine()));
+ }
+
+ public IrcExchange createOnPartExchange(String channel, IRCUser user, String msg) {
+ return new IrcExchange(getContext(), getBinding(), new IrcMessage("PART", channel, user, msg));
+ }
+
+ public IrcExchange createOnTopicExchange(String channel, IRCUser user, String topic) {
+ return new IrcExchange(getContext(), getBinding(), new IrcMessage("TOPIC", channel, user, topic));
+ }
+
+ public IrcProducer createProducer() throws Exception {
+ return new IrcProducer(this, component.getIRCConnection(configuration));
+ }
+
+ public IrcConsumer createConsumer(Processor processor) throws Exception {
+ return new IrcConsumer(this, processor, component.getIRCConnection(configuration));
+ }
+
+ public IrcComponent getComponent() {
+ return component;
+ }
+
+ public void setComponent(IrcComponent component) {
+ this.component = component;
+ }
+
+ public IrcBinding getBinding() {
+ if (binding == null) {
+ binding = new IrcBinding();
+ }
+ return binding;
+ }
+
+ public void setBinding(IrcBinding binding) {
+ this.binding = binding;
+ }
+
+ public IrcConfiguration getConfiguration() {
+ return configuration;
+ }
+
+ public void setConfiguration(IrcConfiguration configuration) {
+ this.configuration = configuration;
+ }
+
+ public static void main(String[] args) throws InterruptedException {
+ final IrcConfiguration config = new IrcConfiguration("irc.codehaus.org", "camel-irc", "Camel IRC Component", "#camel-irc");
+ final IRCConnection conn = new IRCConnection(config.getHostname(), config.getPorts(), config.getPassword(), config.getNickname(), config.getUsername(), config.getRealname());
+// conn.addIRCEventListener(new IRCEventAdapter() {
+//
+// @Override
+// public void onRegistered() {
+// super.onRegistered();
+// System.out.println("onRegistered");
+// }
+//
+// @Override
+// public void onDisconnected() {
+// super.onDisconnected();
+// System.out.println("onDisconnected");
+// }
+//
+// @Override
+// public void onMode(String string, IRCUser ircUser, IRCModeParser ircModeParser) {
+// super.onMode(string, ircUser, ircModeParser);
+// System.out.println("onMode.string = " + string);
+// System.out.println("onMode.ircUser = " + ircUser);
+// System.out.println("onMode.ircModeParser = " + ircModeParser);
+// }
+//
+// @Override
+// public void onMode(IRCUser ircUser, String string, String string1) {
+// super.onMode(ircUser, string, string1);
+// System.out.println("onMode.ircUser = " + ircUser);
+// System.out.println("onMode.string = " + string);
+// System.out.println("onMode.string1 = " + string1);
+// }
+//
+// @Override
+// public void onPing(String string) {
+// super.onPing(string);
+// System.out.println("onPing.string = " + string);
+// }
+//
+// @Override
+// public void onError(String string) {
+// System.out.println("onError.string = " + string);
+// }
+//
+// @Override
+// public void onError(int i, String string) {
+// super.onError(i, string);
+// System.out.println("onError.i = " + i);
+// System.out.println("onError.string = " + string);
+// }
+//
+// @Override
+// public void unknown(String string, String string1, String string2, String string3) {
+// super.unknown(string, string1, string2, string3);
+// System.out.println("unknown.string = " + string);
+// System.out.println("unknown.string1 = " + string1);
+// System.out.println("unknown.string2 = " + string2);
+// System.out.println("unknown.string3 = " + string3);
+// }
+// });
+ conn.setEncoding("UTF-8");
+ conn.setDaemon(true);
+ conn.setColors(false);
+ conn.setPong(true);
+
+ try {
+ conn.connect();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+// while (!conn.isConnected()) {
+// Thread.sleep(1000);
+// System.out.println("Sleeping");
+// }
+ System.out.println("Connected");
+// conn.send("/JOIN #CAMEL");
+// conn.doPrivmsg("nnordrum", "hi!");
+// System.out.println("Joining Channel");
+ conn.doJoin(config.getTarget());
+ Thread.sleep(Integer.MAX_VALUE);
+ }
+
+}
+
Propchange: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java Mon Jun 25 07:24:50 2007
@@ -0,0 +1,76 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.irc;
+
+import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Message;
+import org.apache.camel.Exchange;
+import org.schwering.irc.lib.IRCUser;
+
+public class IrcExchange extends DefaultExchange {
+ private IrcBinding binding;
+
+ public IrcExchange(CamelContext context, IrcBinding binding) {
+ super(context);
+ this.binding = binding;
+ }
+
+ public IrcExchange(CamelContext context, IrcBinding binding, IrcMessage inMessage) {
+ this(context, binding);
+ setIn(inMessage);
+ }
+
+ public IrcBinding getBinding() {
+ return binding;
+ }
+
+ public void setBinding(IrcBinding binding) {
+ this.binding = binding;
+ }
+
+ @Override
+ public IrcMessage getIn() {
+ return (IrcMessage) super.getIn();
+ }
+
+ @Override
+ public IrcMessage getOut() {
+ return (IrcMessage) super.getOut();
+ }
+
+ @Override
+ public IrcMessage getFault() {
+ return (IrcMessage) super.getFault();
+ }
+
+ @Override
+ public IrcExchange newInstance() {
+ return new IrcExchange(getContext(), getBinding());
+ }
+
+ @Override
+ protected IrcMessage createInMessage() {
+ return new IrcMessage();
+ }
+
+ @Override
+ protected IrcMessage createOutMessage() {
+ return new IrcMessage();
+ }
+}
Propchange: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java Mon Jun 25 07:24:50 2007
@@ -0,0 +1,145 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.irc;
+
+import org.apache.camel.impl.DefaultMessage;
+import org.schwering.irc.lib.IRCUser;
+
+import java.util.Map;
+import java.util.HashMap;
+
+public class IrcMessage extends DefaultMessage {
+ private String messageType;
+ private String target;
+ private IRCUser user;
+ private String whoWasKickedNick;
+ private String message;
+
+ public IrcMessage() {
+ }
+
+ public IrcMessage(String messageType, IRCUser user, String message) {
+ this.messageType = messageType;
+ this.user = user;
+ this.message = message;
+ }
+
+ public IrcMessage(String messageType, String target, IRCUser user, String message) {
+ this.messageType = messageType;
+ this.target = target;
+ this.user = user;
+ this.message = message;
+ }
+
+ public IrcMessage(String messageType, String target, IRCUser user, String whoWasKickedNick, String message) {
+ this.messageType = messageType;
+ this.target = target;
+ this.user = user;
+ this.whoWasKickedNick = whoWasKickedNick;
+ this.message = message;
+ }
+
+ public IrcMessage(String messageType, String target, IRCUser user) {
+ this.messageType = messageType;
+ this.target = target;
+ this.user = user;
+ }
+
+ public String getMessageType() {
+ return messageType;
+ }
+
+ public void setMessageType(String messageType) {
+ this.messageType = messageType;
+ }
+
+ public String getTarget() {
+ return target;
+ }
+
+ public void setTarget(String target) {
+ this.target = target;
+ }
+
+ public IRCUser getUser() {
+ return user;
+ }
+
+ public void setUser(IRCUser user) {
+ this.user = user;
+ }
+
+ public String getWhoWasKickedNick() {
+ return whoWasKickedNick;
+ }
+
+ public void setWhoWasKickedNick(String whoWasKickedNick) {
+ this.whoWasKickedNick = whoWasKickedNick;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ @Override
+ public IrcExchange getExchange() {
+ return (IrcExchange) super.getExchange();
+ }
+
+ @Override
+ protected Object createBody() {
+ IrcExchange ircExchange = getExchange();
+ IrcBinding binding = ircExchange.getBinding();
+ return binding.extractBodyFromIrc(ircExchange, message);
+ }
+
+ @Override
+ public IrcMessage newInstance() {
+ return new IrcMessage();
+ }
+
+ @Override
+ protected void populateInitialHeaders(Map<String, Object> map) {
+ map.put("irc.messageType", messageType);
+ if (target != null) {
+ map.put("irc.target", target);
+ }
+ if (whoWasKickedNick != null) {
+ map.put("irc.user.kicked", whoWasKickedNick);
+ }
+ if (user != null) {
+ map.put("irc.user.host", user.getHost());
+ map.put("irc.user.nick", user.getNick());
+ map.put("irc.user.servername", user.getServername());
+ map.put("irc.user.username", user.getUsername());
+ }
+ }
+
+ @Override
+ public String toString() {
+ if (message != null) {
+ return "IrcMessage: " + message;
+ } else {
+ return "IrcMessage: " + getBody();
+ }
+ }
+}
Propchange: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java Mon Jun 25 07:24:50 2007
@@ -0,0 +1,66 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.irc;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.impl.DefaultProducer;
+import org.schwering.irc.lib.IRCConnection;
+
+public class IrcProducer extends DefaultProducer<IrcExchange> {
+ private IRCConnection connection;
+ private IrcEndpoint endpoint;
+
+ public IrcProducer(IrcEndpoint endpoint, IRCConnection connection) {
+ super(endpoint);
+ this.endpoint = endpoint;
+ this.connection = connection;
+ }
+
+ public void process(Exchange exchange) throws Exception {
+ try {
+ final String msg = exchange.getIn().getBody(String.class);
+ if (isMessageACommand(msg)) {
+ connection.send(msg);
+ } else {
+ final String target = endpoint.getConfiguration().getTarget();
+ connection.doPrivmsg(target, msg);
+ }
+ } catch (Exception e) {
+ throw new RuntimeCamelException(e);
+ }
+ }
+
+ protected boolean isMessageACommand(String msg) {
+ for (String command : commands) {
+ if (msg.startsWith(command)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public final String[] commands = new String[]{
+ "AWAY", "INVITE", "ISON", "JOIN",
+ "KICK", "LIST", "NAMES", "PRIVMSG",
+ "MODE", "NICK", "NOTICE", "PART",
+ "PONG", "QUIT", "TOPIC", "WHO",
+ "WHOIS", "WHOWAS", "USERHOST"
+ };
+
+}
Propchange: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc?view=auto&rev=550510
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc (added)
+++ activemq/camel/trunk/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc Mon Jun 25 07:24:50 2007
@@ -0,0 +1 @@
+class=org.apache.camel.component.irc.IrcComponent
\ No newline at end of file
Modified: activemq/camel/trunk/components/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/pom.xml?view=diff&rev=550510&r1=550509&r2=550510
==============================================================================
--- activemq/camel/trunk/components/pom.xml (original)
+++ activemq/camel/trunk/components/pom.xml Mon Jun 25 07:24:50 2007
@@ -39,6 +39,7 @@
<module>camel-cxf</module>
<module>camel-ftp</module>
<module>camel-http</module>
+ <module>camel-irc</module>
<module>camel-jaxb</module>
<module>camel-jbi</module>
<module>camel-jms</module>
Modified: activemq/camel/trunk/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/pom.xml?view=diff&rev=550510&r1=550509&r2=550510
==============================================================================
--- activemq/camel/trunk/pom.xml (original)
+++ activemq/camel/trunk/pom.xml Mon Jun 25 07:24:50 2007
@@ -190,6 +190,11 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-irc</artifactId>
+ <version>${camel-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-jbi</artifactId>
<version>${camel-version}</version>
</dependency>