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 2007/01/27 20:37:59 UTC
svn commit: r500599 - in
/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util:
URISupport.cpp URISupport.h
Author: tabish
Date: Sat Jan 27 11:37:59 2007
New Revision: 500599
URL: http://svn.apache.org/viewvc?view=rev&rev=500599
Log:
http://issues.apache.org/activemq/browse/AMQCPP-30
Modified:
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.cpp
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.h
Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.cpp?view=diff&rev=500599&r1=500598&r2=500599
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.cpp Sat Jan 27 11:37:59 2007
@@ -30,8 +30,29 @@
{
try {
- SimpleProperties map;
+ SimpleProperties options;
+ URISupport::parseQuery( query, &options );
+ return options;
+ }
+ AMQ_CATCH_RETHROW( IllegalArgumentException )
+ AMQ_CATCH_EXCEPTION_CONVERT( NoSuchElementException, IllegalArgumentException )
+ AMQ_CATCHALL_THROW( IllegalArgumentException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void URISupport::parseQuery( std::string query,
+ util::Properties* properties )
+ throw ( exceptions::IllegalArgumentException ) {
+
+ try {
+ if( properties == NULL ) {
+ throw IllegalArgumentException(
+ __FILE__,
+ __LINE__,
+ "URISupport::parseQuery - Can't pass in a null properties object" );
+ }
+
// strip the initial "?"
size_t pos = query.find_first_of( "?" );
if( pos != std::string::npos ) {
@@ -70,13 +91,10 @@
}
// Store them.
- map.setProperty( key, value );
+ properties->setProperty( key, value );
}
-
- return map;
}
AMQ_CATCH_RETHROW( IllegalArgumentException )
AMQ_CATCH_EXCEPTION_CONVERT( NoSuchElementException, IllegalArgumentException )
AMQ_CATCHALL_THROW( IllegalArgumentException )
}
-
Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.h?view=diff&rev=500599&r1=500598&r2=500599
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/URISupport.h Sat Jan 27 11:37:59 2007
@@ -40,6 +40,17 @@
static SimpleProperties parseQuery( std::string query )
throw ( exceptions::IllegalArgumentException );
+ /**
+ * Parse the Query portion of a URI String and return a Simple
+ * Properties object containing the parameter names as keys, and
+ * the parameter values and values of the Properties.
+ * @param query - the query string to parse.
+ * @param properties - object pointer to get the parsed output.
+ */
+ static void parseQuery( std::string query,
+ util::Properties* properties )
+ throw ( exceptions::IllegalArgumentException );
+
};
}}