You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ha...@apache.org on 2011/09/09 03:56:33 UTC
svn commit: r1166956 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
Author: hadrian
Date: Fri Sep 9 01:56:33 2011
New Revision: 1166956
URL: http://svn.apache.org/viewvc?rev=1166956&view=rev
Log:
CAMEL-4405. Provide a properly encoded URI to all components
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java?rev=1166956&r1=1166955&r2=1166956&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java Fri Sep 9 01:56:33 2011
@@ -82,12 +82,12 @@ public abstract class DefaultComponent e
}
Map<String, Object> parameters = URISupport.parseParameters(u);
- validateURI(uri, path, parameters);
+ validateURI(encodedUri, path, parameters);
if (LOG.isDebugEnabled()) {
- LOG.debug("Creating endpoint uri=[{}], path=[{}], parameters=[{}]", new Object[]{uri, path, parameters});
+ LOG.debug("Creating endpoint uri=[{}], path=[{}], parameters=[{}]", new Object[]{encodedUri, path, parameters});
}
- Endpoint endpoint = createEndpoint(uri, path, parameters);
+ Endpoint endpoint = createEndpoint(encodedUri, path, parameters);
if (endpoint == null) {
return null;
}
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=1166956&r1=1166955&r2=1166956&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 Fri Sep 9 01:56:33 2011
@@ -16,8 +16,10 @@
*/
package org.apache.camel.component.irc;
+import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
+import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Dictionary;
@@ -99,7 +101,7 @@ public class IrcConfiguration implements
return retval.trim();
}
- public void configure(String uriStr) throws URISyntaxException {
+ public void configure(String uriStr) throws URISyntaxException, UnsupportedEncodingException {
// fix provided URI and handle that we can use # to indicate the IRC room
if (uriStr.startsWith("ircs")) {
setUsingSSL(true);
@@ -121,9 +123,15 @@ public class IrcConfiguration implements
setRealname(uri.getUserInfo());
setHostname(uri.getHost());
- if (uri.getFragment() != null && uri.getFragment().length() != 0) {
- String channel = "#" + uri.getFragment();
- addChannel(channel);
+ String path = uri.getPath();
+ if (path != null) {
+ path = URLDecoder.decode(path, "UTF-8");
+ if (path.startsWith("/")) {
+ path = path.substring(1);
+ }
+ if (path.startsWith("#")) {
+ addChannel(path);
+ } // else should probably issue a warning?
}
}