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?
         }
     }