You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/09/24 14:23:26 UTC

svn commit: r1389329 - in /camel/branches/camel-2.10.x: ./ camel-core/src/main/java/org/apache/camel/util/URISupport.java

Author: davsclaus
Date: Mon Sep 24 12:23:25 2012
New Revision: 1389329

URL: http://svn.apache.org/viewvc?rev=1389329&view=rev
Log:
URISupport.parseQuery should return empty map as stated in javadoc. Polished javadoc.

Modified:
    camel/branches/camel-2.10.x/   (props changed)
    camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java

Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1389326

Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java?rev=1389329&r1=1389328&r2=1389329&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java (original)
+++ camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java Mon Sep 24 12:23:25 2012
@@ -88,6 +88,14 @@ public final class URISupport {
         return sanitized;
     }
 
+    /**
+     * Parses the query part of the uri (eg the parameters).
+     *
+     * @param uri the uri
+     * @return the parameters, or an empty map if no parameters (eg never null)
+     * @throws URISyntaxException is thrown if uri has invalid syntax.
+     */
+    @SuppressWarnings("unchecked")
     public static Map<String, Object> parseQuery(String uri) throws URISyntaxException {
         // must check for trailing & as the uri.split("&") will ignore those
         if (uri != null && uri.endsWith("&")) {
@@ -95,6 +103,11 @@ public final class URISupport {
                 + "Check the uri and remove the trailing & marker.");
         }
 
+        if (ObjectHelper.isEmpty(uri)) {
+            // return an empty map
+            return new LinkedHashMap<String, Object>(0);
+        }
+
         try {
             // use a linked map so the parameters is in the same order
             Map<String, Object> rc = new LinkedHashMap<String, Object>();
@@ -142,6 +155,13 @@ public final class URISupport {
         }
     }
 
+    /**
+     * Parses the query parameters of the uri (eg the query part).
+     *
+     * @param uri the uri
+     * @return the parameters, or an empty map if no parameters (eg never null)
+     * @throws URISyntaxException is thrown if uri has invalid syntax.
+     */
     public static Map<String, Object> parseParameters(URI uri) throws URISyntaxException {
         String query = uri.getQuery();
         if (query == null) {
@@ -161,6 +181,11 @@ public final class URISupport {
 
     /**
      * Creates a URI with the given query
+     *
+     * @param uri the uri
+     * @param query the query to append to the uri
+     * @return uri with the query appended
+     * @throws URISyntaxException is thrown if uri has invalid syntax.
      */
     public static URI createURIWithQuery(URI uri, String query) throws URISyntaxException {
         ObjectHelper.notNull(uri, "uri");
@@ -181,6 +206,15 @@ public final class URISupport {
         return new URI(s);
     }
 
+    /**
+     * Strips the prefix from the value.
+     * <p/>
+     * Returns the value as-is if not starting with the prefix.
+     *
+     * @param value  the value
+     * @param prefix the prefix to remove from value
+     * @return the value without the prefix
+     */
     public static String stripPrefix(String value, String prefix) {
         if (value.startsWith(prefix)) {
             return value.substring(prefix.length());
@@ -188,6 +222,13 @@ public final class URISupport {
         return value;
     }
 
+    /**
+     * Assembles a query from the given map.
+     *
+     * @param options  the map with the options (eg key/value pairs)
+     * @return a query string with <tt>key1=value&key2=value2&...</tt>, or an empty string if there is no options.
+     * @throws URISyntaxException is thrown if uri has invalid syntax.
+     */
     @SuppressWarnings("unchecked")
     public static String createQueryString(Map<String, Object> options) throws URISyntaxException {
         try {
@@ -241,7 +282,6 @@ public final class URISupport {
         }
     }
 
-
     /**
      * Creates a URI from the original URI and the remaining parameters
      * <p/>
@@ -262,7 +302,7 @@ public final class URISupport {
      * @param uri the uri
      * @return the normalized uri
      * @throws URISyntaxException in thrown if the uri syntax is invalid
-     * @throws UnsupportedEncodingException 
+     * @throws UnsupportedEncodingException is thrown if encoding error
      */
     public static String normalizeUri(String uri) throws URISyntaxException, UnsupportedEncodingException {