You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2012/09/21 05:31:14 UTC

svn commit: r1388313 - in /activemq/trunk/activemq-core/src/main/java/org/apache/activemq: ActiveMQConnection.java ActiveMQConnectionFactory.java util/URISupport.java

Author: tabish
Date: Fri Sep 21 03:31:13 2012
New Revision: 1388313

URL: http://svn.apache.org/viewvc?rev=1388313&view=rev
Log:
fix for: https://issues.apache.org/jira/browse/AMQ-730

Update some JavaDocs

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/util/URISupport.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java?rev=1388313&r1=1388312&r2=1388313&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java Fri Sep 21 03:31:13 2012
@@ -1690,10 +1690,10 @@ public class ActiveMQConnection implemen
     }
 
     /**
-     * If this flag is set then a separate thread is not used for dispatching
-     * messages for each Session in the Connection. However, a separate thread
-     * is always used if there is more than one session, or the session isn't in
-     * auto acknowledge or duplicates ok mode
+     * If this flag is not set then a separate thread is not used for dispatching messages for each Session in
+     * the Connection. However, a separate thread is always used if there is more than one session, or the session
+     * isn't in auto acknowledge or duplicates ok mode.  By default this value is set to true and session dispatch
+     * happens asynchronously.
      */
     public void setAlwaysSessionAsync(boolean alwaysSessionAsync) {
         this.alwaysSessionAsync = alwaysSessionAsync;

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java?rev=1388313&r1=1388312&r2=1388313&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java Fri Sep 21 03:31:13 2012
@@ -830,10 +830,10 @@ public class ActiveMQConnectionFactory e
     }
 
     /**
-     * If this flag is set then a separate thread is not used for dispatching
-     * messages for each Session in the Connection. However, a separate thread
-     * is always used if there is more than one session, or the session isn't in
-     * auto acknowledge or duplicates ok mode
+     * If this flag is not set then a separate thread is not used for dispatching messages for each Session in
+     * the Connection. However, a separate thread is always used if there is more than one session, or the session
+     * isn't in auto acknowledge or duplicates ok mode.  By default this value is set to true and session dispatch
+     * happens asynchronously.
      */
     public void setAlwaysSessionAsync(boolean alwaysSessionAsync) {
         this.alwaysSessionAsync = alwaysSessionAsync;

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/util/URISupport.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/util/URISupport.java?rev=1388313&r1=1388312&r2=1388313&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/util/URISupport.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/util/URISupport.java Fri Sep 21 03:31:13 2012
@@ -29,9 +29,16 @@ import java.util.Map;
 
 /**
  * Utility class that provides methods for parsing URI's
+ *
+ * This class can be used to split composite URI's into their component parts and is used to extract any
+ * URI options from each URI in order to set specific properties on Beans.
  */
 public class URISupport {
 
+    /**
+     * A composite URI can be split into one or more CompositeData object which each represent the
+     * individual URIs that comprise the composite one.
+     */
     public static class CompositeData {
         private String host;
         private String scheme;
@@ -100,6 +107,15 @@ public class URISupport {
         }
     }
 
+    /**
+     * Give a URI break off any URI options and store them in a Key / Value Mapping.
+     *
+     * @param uri
+     * 		The URI whose query should be extracted and processed.
+     *
+     * @return A Mapping of the URI options.
+     * @throws URISyntaxException
+     */
     public static Map<String, String> parseQuery(String uri) throws URISyntaxException {
         try {
             uri = uri.substring(uri.lastIndexOf("?") + 1); // get only the relevant part of the query
@@ -123,6 +139,18 @@ public class URISupport {
         }
     }
 
+    /**
+     * Given a URI parse and extract any URI query options and return them as a Key / Value mapping.
+     *
+     * This method differs from the {@link parseQuery} method in that it handles composite URI types and
+     * will extract the URI options from the outermost composite URI.
+     *
+     * @param uri
+     * 		The URI whose query should be extracted and processed.
+     *
+     * @return A Mapping of the URI options.
+     * @throws URISyntaxException
+     */
     public static Map<String, String> parseParameters(URI uri) throws URISyntaxException {
         if (!isCompositeURI(uri)) {
             return uri.getQuery() == null ? emptyMap() : parseQuery(stripPrefix(uri.getQuery(), "?"));
@@ -138,10 +166,37 @@ public class URISupport {
         }
     }
 
+    /**
+     * Given a Key / Value mapping create and append a URI query value that represents the mapped entries, return the
+     * newly updated URI that contains the value of the given URI and the appended query value.
+     *
+     * @param uri
+     * 		The source URI that will have the Map entries appended as a URI query value.
+     * @param queryParameters
+     * 		The Key / Value mapping that will be transformed into a URI query string.
+     *
+     * @return A new URI value that combines the given URI and the constructed query string.
+     * @throws URISyntaxException
+     */
     public static URI applyParameters(URI uri, Map<String, String> queryParameters) throws URISyntaxException {
         return applyParameters(uri, queryParameters, "");
     }
 
+    /**
+     * Given a Key / Value mapping create and append a URI query value that represents the mapped entries, return the
+     * newly updated URI that contains the value of the given URI and the appended query value.  Each entry in the query
+     * string is prefixed by the supplied optionPrefix string.
+     *
+     * @param uri
+     * 		The source URI that will have the Map entries appended as a URI query value.
+     * @param queryParameters
+     * 		The Key / Value mapping that will be transformed into a URI query string.
+     * @param optionPrefix
+     * 		A string value that when not null or empty is used to prefix each query option key.
+     *
+     * @return A new URI value that combines the given URI and the constructed query string.
+     * @throws URISyntaxException
+     */
     public static URI applyParameters(URI uri, Map<String, String> queryParameters, String optionPrefix) throws URISyntaxException {
         if (queryParameters != null && !queryParameters.isEmpty()) {
             StringBuffer newQuery = uri.getRawQuery() != null ? new StringBuffer(uri.getRawQuery()) : new StringBuffer() ;
@@ -165,14 +220,28 @@ public class URISupport {
     }
 
     /**
-     * Removes any URI query from the given uri
+     * Removes any URI query from the given uri and return a new URI that does not contain the query portion.
+     *
+     * @param uri
+     * 		The URI whose query value is to be removed.
+     *
+     * @return a new URI that does not contain a query value.
+     * @throws URISyntaxException
      */
     public static URI removeQuery(URI uri) throws URISyntaxException {
         return createURIWithQuery(uri, null);
     }
 
     /**
-     * Creates a URI with the given query
+     * Creates a URI with the given query, removing an previous query value from the given URI.
+     *
+     * @param uri
+     * 		The source URI whose existing query is replaced with the newly supplied one.
+     * @param query
+     * 		The new URI query string that should be appended to the given URI.
+     *
+     * @return a new URI that is a combination of the original URI and the given query string.
+     * @throws URISyntaxException
      */
     public static URI createURIWithQuery(URI uri, String query) throws URISyntaxException {
         String schemeSpecificPart = uri.getRawSchemeSpecificPart();
@@ -191,19 +260,36 @@ public class URISupport {
         return new URI(uri.getScheme(), schemeSpecificPart, uri.getFragment());
     }
 
+    /**
+     * Given a composite URI, parse the individual URI elements contained within that URI and return
+     * a CompsoteData instance that contains the parsed URI values.
+     *
+     * @param uri
+     * 		The target URI that should be parsed.
+     *
+     * @return a new CompsiteData instance representing the parsed composite URI.
+     * @throws URISyntaxException
+     */
     public static CompositeData parseComposite(URI uri) throws URISyntaxException {
 
         CompositeData rc = new CompositeData();
         rc.scheme = uri.getScheme();
         String ssp = stripPrefix(uri.getRawSchemeSpecificPart().trim(), "//").trim();
 
-
         parseComposite(uri, rc, ssp);
 
         rc.fragment = uri.getFragment();
         return rc;
     }
 
+    /**
+     * Examine a URI and determine if it is a Composite type or not.
+     *
+     * @param uri
+     * 		The URI that is to be examined.
+     *
+     * @return true if the given URI is a Compsote type.
+     */
     public static boolean isCompositeURI(URI uri) {
         String ssp = stripPrefix(uri.getRawSchemeSpecificPart().trim(), "//").trim();
 
@@ -213,6 +299,17 @@ public class URISupport {
         return false;
     }
 
+    /**
+     * Given a string and a position in that string of an open parend, find the matching close parend.
+     *
+     * @param str
+     * 		The string to be searched for a matching parend.
+     * @param first
+     * 		The index in the string of the opening parend whose close value is to be searched.
+     *
+     * @return the index in the string where the closing parend is located.
+     * @throws URISyntaxException fi the string does not contain a matching parend.
+     */
     public static int indexOfParenthesisMatch(String str, int first) throws URISyntaxException {
         int index = -1;
 
@@ -245,9 +342,17 @@ public class URISupport {
     }
 
     /**
+     * Given a composite URI and a CompositeData instance and the scheme specific part extracted from the source URI,
+     * parse the composite URI and populate the CompositeData object with the results.  The source URI is used only
+     * for logging as the ssp should have already been extracted from it and passed here.
+     *
      * @param uri
+     * 		The original source URI whose ssp is parsed into the composite data.
      * @param rc
+     * 		The CompsositeData instance that will be populated from the given ssp.
      * @param ssp
+     * 		The scheme specific part from the original string that is a composite or one or more URIs.
+     *
      * @throws URISyntaxException
      */
     private static void parseComposite(URI uri, CompositeData rc, String ssp) throws URISyntaxException {
@@ -300,8 +405,13 @@ public class URISupport {
     }
 
     /**
+     * Given the inner portion of a composite URI, split and return each inner URI as a string
+     * element in a new String array.
+     *
      * @param str
-     * @return
+     * 		The inner URI elements of a composite URI string.
+     *
+     * @return an array containing each inner URI from the composite one.
      */
     private static String[] splitComponents(String str) {
         List<String> l = new ArrayList<String>();
@@ -338,6 +448,16 @@ public class URISupport {
         return rc;
     }
 
+    /**
+     * String the given prefix from the target string and return the result.
+     *
+     * @param value
+     * 		The string that should be trimmed of the given prefix if present.
+     * @param prefix
+     * 		The prefix to remove from the target string.
+     *
+     * @return either the original string or a new string minus the supplied prefix if present.
+     */
     public static String stripPrefix(String value, String prefix) {
         if (value.startsWith(prefix)) {
             return value.substring(prefix.length());
@@ -345,10 +465,29 @@ public class URISupport {
         return value;
     }
 
+    /**
+     * Strip a URI of its scheme element.
+     *
+     * @param uri
+     * 		The URI whose scheme value should be stripped.
+     *
+     * @return The stripped URI value.
+     * @throws URISyntaxException
+     */
     public static URI stripScheme(URI uri) throws URISyntaxException {
         return new URI(stripPrefix(uri.getSchemeSpecificPart().trim(), "//"));
     }
 
+    /**
+     * Given a key / value mapping, create and return a URI formatted query string that is valid and
+     * can be appended to a URI.
+     *
+     * @param options
+     * 		The Mapping that will create the new Query string.
+     *
+     * @return a URI formatted query string.
+     * @throws URISyntaxException
+     */
     public static String createQueryString(Map<String, String> options) throws URISyntaxException {
         try {
             if (options.size() > 0) {
@@ -375,8 +514,19 @@ public class URISupport {
     }
 
     /**
-     * Creates a URI from the original URI and the remaining paramaters
+     * Creates a URI from the original URI and the remaining parameters.
+     *
+     * When the query options of a URI are applied to certain objects the used portion of the query options needs
+     * to be removed and replaced with those that remain so that other parts of the code can attempt to apply the
+     * remainder or give an error is unknown values were given.  This method is used to update a URI with those
+     * remainder values.
      *
+     * @param originalURI
+     *		The URI whose current parameters are remove and replaced with the given remainder value.
+     * @param params
+     * 		The URI params that should be used to replace the current ones in the target.
+     *
+     * @return a new URI that matches the original one but has its query options replaced with the given ones.
      * @throws URISyntaxException
      */
     public static URI createRemainingURI(URI originalURI, Map<String, String> params) throws URISyntaxException {
@@ -387,12 +537,31 @@ public class URISupport {
         return createURIWithQuery(originalURI, s);
     }
 
+    /**
+     * Given a URI value create and return a new URI that matches the target one but with the scheme value
+     * supplied to this method.
+     *
+     * @param bindAddr
+     * 		The URI whose scheme value should be altered.
+     * @param scheme
+     * 		The new scheme value to use for the returned URI.
+     *
+     * @return a new URI that is a copy of the original except that its scheme matches the supplied one.
+     * @throws URISyntaxException
+     */
     public static URI changeScheme(URI bindAddr, String scheme) throws URISyntaxException {
         return new URI(scheme, bindAddr.getUserInfo(), bindAddr.getHost(), bindAddr.getPort(), bindAddr
             .getPath(), bindAddr.getQuery(), bindAddr.getFragment());
     }
 
-
+    /**
+     * Examine the supplied string and ensure that all parends appear as matching pairs.
+     *
+     * @param str
+     * 		The target string to examine.
+     *
+     * @return true if the target string has valid parend pairings.
+     */
     public static boolean checkParenthesis(String str) {
         boolean result = true;
         if (str != null) {