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 2009/04/04 23:01:33 UTC
svn commit: r762007 [2/2] - in
/activemq/activemq-cpp/trunk/activemq-cpp/src: main/ main/activemq/cmsutil/
main/activemq/commands/ main/activemq/core/ main/activemq/exceptions/
main/activemq/wireformat/stomp/marshal/ main/cms/
main/decaf/util/concurren...
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/CMSException.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/CMSException.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/CMSException.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/CMSException.h Sat Apr 4 21:01:32 2009
@@ -15,37 +15,69 @@
* limitations under the License.
*/
-#ifndef CMS_CMSEXCEPTION_H
-#define CMS_CMSEXCEPTION_H
+#ifndef _CMS_CMSEXCEPTION_H_
+#define _CMS_CMSEXCEPTION_H_
// Includes
#include <string>
#include <vector>
#include <iostream>
#include <exception>
+#include <memory>
#include <cms/Config.h>
namespace cms{
/**
- * This class represents an error that has occurred in
- * cms.
+ * This class represents an error that has occurred in cms, providers
+ * can wrap provider specific exceptions in this class by setting the
+ * cause to an instance of a provider specific exception provided it
+ * can be cast to an std::exception.
+ *
+ * @since 1.0
*/
- class CMS_API CMSException : public virtual std::exception {
+ class CMS_API CMSException : public std::exception {
+ private:
+
+ /**
+ * The cause of this exception.
+ */
+ std::string message;
+
+ /**
+ * The Exception that caused this one to be thrown.
+ */
+ mutable std::auto_ptr<const std::exception> cause;
+
+ /**
+ * The stack trace.
+ */
+ std::vector< std::pair< std::string, int> > stackTrace;
public:
- CMSException() throw() {}
+ CMSException() throw();
+
+ CMSException( const CMSException& ex ) throw();
- virtual ~CMSException() throw() {}
+ CMSException( const std::string& message,
+ const std::exception* cause ) throw();
+
+ CMSException( const std::string& message,
+ const std::exception* cause,
+ const std::vector< std::pair< std::string, int> >& stackTrace ) throw();
+
+ virtual ~CMSException() throw();
/**
* Gets the cause of the error.
*
* @return string errors message
*/
- virtual std::string getMessage() const = 0;
+ virtual std::string getMessage() const {
+ return this->message;
+ }
/**
* Gets the exception that caused this one to be thrown, this allows
@@ -56,26 +88,9 @@
* @returns a const pointer reference to the causal exception, if there
* was no cause associated with this exception then NULL is returned.
*/
- virtual const std::exception* getCause() const = 0;
-
- /**
- * Adds a file/line number to the stack trace.
- *
- * @param file
- * The name of the file calling this method (use __FILE__).
- * @param lineNumber
- * The line number in the calling file (use __LINE__).
- */
- virtual void setMark( const char* file, const int lineNumber ) = 0;
-
- /**
- * Clones this exception. This is useful for cases where you need
- * to preserve the type of the original exception as well as the message.
- * All subclasses should override.
- *
- * @return Copy of this Exception object
- */
- virtual CMSException* clone() const = 0;
+ virtual const std::exception* getCause() const {
+ return this->cause.get();
+ }
/**
* Provides the stack trace for every point where
@@ -83,29 +98,38 @@
*
* @return vector containing stack trace strings
*/
- virtual std::vector< std::pair< std::string, int> > getStackTrace() const = 0;
+ virtual std::vector< std::pair< std::string, int> > getStackTrace() const {
+ return this->stackTrace;
+ }
+
+ /**
+ * Adds a file/line number to the stack trace.
+ * @param file The name of the file calling this method (use __FILE__).
+ * @param lineNumber The line number in the calling file (use __LINE__).
+ */
+ virtual void setMark( const char* file, const int lineNumber );
/**
* Prints the stack trace to std::err
*/
- virtual void printStackTrace() const = 0;
+ virtual void printStackTrace() const;
/**
* Prints the stack trace to the given output stream.
*
* @param stream the target output stream.
*/
- virtual void printStackTrace( std::ostream& stream ) const = 0;
+ virtual void printStackTrace( std::ostream& stream ) const;
/**
* Gets the stack trace as one contiguous string.
*
* @return string with formatted stack trace data
*/
- virtual std::string getStackTraceString() const = 0;
+ virtual std::string getStackTraceString() const;
};
}
-#endif /*CMS_CMSEXCEPTION_H*/
+#endif /*_CMS_CMSEXCEPTION_H_*/
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/PooledThread.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/PooledThread.cpp?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/PooledThread.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/PooledThread.cpp Sat Apr 4 21:01:32 2009
@@ -54,7 +54,7 @@
}
////////////////////////////////////////////////////////////////////////////////
-void PooledThread::run(void)
+void PooledThread::run()
{
ThreadPool::Task task;
@@ -158,7 +158,7 @@
}
////////////////////////////////////////////////////////////////////////////////
-void PooledThread::stop(void) throw ( Exception )
+void PooledThread::stop() throw ( Exception )
{
done = true;
}
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/LogWriter.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/LogWriter.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/LogWriter.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/LogWriter.h Sat Apr 4 21:01:32 2009
@@ -26,8 +26,8 @@
class DECAF_API LogWriter {
public:
- LogWriter(void);
- virtual ~LogWriter(void);
+ LogWriter();
+ virtual ~LogWriter();
/**
* Writes a message to the output destination
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/Logger.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/Logger.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/Logger.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/Logger.h Sat Apr 4 21:01:32 2009
@@ -77,7 +77,7 @@
* Gets the name of this Logger
* @return logger name
*/
- virtual const std::string& getName(void) const {
+ virtual const std::string& getName() const {
return name;
}
@@ -107,7 +107,7 @@
* has been assigned to use.
* @returns a list of handlers that are used by this logger
*/
- // virtual const std::list<Handler*>& getHandlers(void) const;
+ // virtual const std::list<Handler*>& getHandlers() const;
/**
* Set a filter to control output on this Logger.
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/MarkBlockLogger.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/MarkBlockLogger.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/MarkBlockLogger.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/logging/MarkBlockLogger.h Sat Apr 4 21:01:32 2009
@@ -57,7 +57,7 @@
logger.mark(blockName + " - Entered");
}
- virtual ~MarkBlockLogger(void)
+ virtual ~MarkBlockLogger()
{
logger->mark(blockName + " - Exited");
}
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/CmsTemplateTest.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/CmsTemplateTest.cpp?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/CmsTemplateTest.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/CmsTemplateTest.cpp Sat Apr 4 21:01:32 2009
@@ -198,7 +198,7 @@
try {
cmsTemplate.receive();
CPPUNIT_FAIL("failed to throw expected exception");
- } catch( ActiveMQException& ex ) {
+ } catch( CMSException& ex ) {
// Expected.
}
@@ -218,7 +218,7 @@
CPPUNIT_ASSERT( message != NULL );
delete message;
- } catch ( ActiveMQException e ) {
+ } catch ( CMSException& e ) {
e.printStackTrace();
CPPUNIT_ASSERT( false );
}
@@ -237,7 +237,7 @@
TextMessageCreator msgCreator( "hello world" );
cmsTemplate.send( &msgCreator );
CPPUNIT_FAIL( "failed to throw expected exception" );
- } catch( ActiveMQException& ex ) {
+ } catch( CMSException& ex ) {
// Expected.
}
@@ -248,7 +248,7 @@
TextMessageCreator msgCreator( "hello world" );
cmsTemplate.send( &msgCreator );
- } catch ( ActiveMQException e ) {
+ } catch ( CMSException& e ) {
e.printStackTrace();
throw e;
}
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp Sat Apr 4 21:01:32 2009
@@ -373,14 +373,14 @@
CPPUNIT_ASSERT_THROW_MESSAGE(
"Should throw an ActiveMQExceptio",
message->setStringProperty( "FOO", "BAR" ),
- exceptions::ActiveMQException );
+ cms::CMSException );
BytesMessage* bytesMessage2 = dynamic_cast<cms::BytesMessage*>( message.get() );
CPPUNIT_ASSERT( bytesMessage2 != NULL );
CPPUNIT_ASSERT_THROW_MESSAGE(
"Should throw an ActiveMQExceptio",
bytesMessage2->writeBoolean( false ),
- exceptions::ActiveMQException );
+ cms::CMSException );
CPPUNIT_ASSERT( bytesMessage2->readBoolean() == true );
CPPUNIT_ASSERT( bytesMessage2->readByte() == 127 );
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/cmsutil/CmsTemplateTest.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/cmsutil/CmsTemplateTest.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/cmsutil/CmsTemplateTest.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/cmsutil/CmsTemplateTest.h Sat Apr 4 21:01:32 2009
@@ -32,7 +32,7 @@
namespace cmsutil{
class DummyConnectionFactory;
-
+
class CmsTemplateTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( CmsTemplateTest );
@@ -44,16 +44,16 @@
CPPUNIT_TEST( testReceive_DestinationName );
CPPUNIT_TEST( testReceiveSelected );
CPPUNIT_TEST( testReceiveSelected_Destination );
- CPPUNIT_TEST( testReceiveSelected_DestinationName );
- CPPUNIT_TEST_SUITE_END();
-
+ CPPUNIT_TEST( testReceiveSelected_DestinationName );
+ CPPUNIT_TEST_SUITE_END();
+
CmsTemplate* cmsTemplate;
DummyConnectionFactory* cf;
-
+
class MySendListener : public MessageContext::SendListener {
public:
-
+
const cms::Destination* dest;
cms::Message* message;
int deliveryMode;
@@ -62,7 +62,7 @@
std::string selector;
bool noLocal;
long long timeout;
-
+
MySendListener() {
dest = NULL;
message = NULL;
@@ -71,9 +71,9 @@
ttl = 0LL;
}
virtual ~MySendListener(){}
-
+
virtual void onSend(const cms::Destination* destination,
- cms::Message* message, int deliveryMode, int priority,
+ cms::Message* message, int deliveryMode, int priority,
long long timeToLive) throw (cms::CMSException){
this->dest = destination;
this->message = message;
@@ -81,10 +81,10 @@
this->priority = priority;
this->ttl = timeToLive;
}
-
- virtual cms::Message* doReceive(const cms::Destination* dest,
- const std::string& selector,
- bool noLocal,
+
+ virtual cms::Message* doReceive(const cms::Destination* dest,
+ const std::string& selector,
+ bool noLocal,
long long timeout) throw (cms::CMSException){
this->dest = dest;
this->selector = selector;
@@ -93,64 +93,64 @@
return new DummyMessage();
}
};
-
+
class FailSendListener : public MessageContext::SendListener {
public:
-
+
FailSendListener() {
}
virtual ~FailSendListener(){}
-
+
virtual void onSend(const cms::Destination* destination,
- cms::Message* message, int deliveryMode, int priority,
+ cms::Message* message, int deliveryMode, int priority,
long long timeToLive) throw (cms::CMSException){
- throw exceptions::ActiveMQException(__FILE__, __LINE__, "");
+ throw cms::CMSException();
}
-
- virtual cms::Message* doReceive(const cms::Destination* dest,
- const std::string& selector,
- bool noLocal,
+
+ virtual cms::Message* doReceive(const cms::Destination* dest,
+ const std::string& selector,
+ bool noLocal,
long long timeout) throw (cms::CMSException){
- throw exceptions::ActiveMQException(__FILE__, __LINE__, "");
+ throw cms::CMSException();
}
};
-
+
class MySessionCallback : public SessionCallback {
public:
-
+
cms::Session* session;
cms::Session::AcknowledgeMode ackMode;
-
+
MySessionCallback() {
session = NULL;
}
virtual ~MySessionCallback(){}
-
- virtual void doInCms(cms::Session* session) throw (cms::CMSException) {
+
+ virtual void doInCms(cms::Session* session) throw (cms::CMSException) {
this->session = session;
this->ackMode = session->getAcknowledgeMode();
}
};
-
+
class MyProducerCallback : public ProducerCallback {
public:
-
+
cms::Session* session;
cms::MessageProducer* producer;
-
+
MyProducerCallback() {
session = NULL;
producer = NULL;
}
virtual ~MyProducerCallback(){}
-
- virtual void doInCms(cms::Session* session,
+
+ virtual void doInCms(cms::Session* session,
cms::MessageProducer* producer) throw (cms::CMSException) {
this->session = session;
this->producer = producer;
}
};
-
+
public:
CmsTemplateTest() {}
@@ -158,7 +158,7 @@
virtual void setUp();
virtual void tearDown();
-
+
void testExecuteSession();
void testExecuteProducer();
void testSend();
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/core/ActiveMQSessionTest.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/core/ActiveMQSessionTest.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/core/ActiveMQSessionTest.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/core/ActiveMQSessionTest.h Sat Apr 4 21:01:32 2009
@@ -125,8 +125,8 @@
public:
- ActiveMQSessionTest(void) {}
- virtual ~ActiveMQSessionTest(void) {}
+ ActiveMQSessionTest() {}
+ virtual ~ActiveMQSessionTest() {}
void testAutoAcking();
void testClientAck();
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/BooleanTest.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/BooleanTest.cpp?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/BooleanTest.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/BooleanTest.cpp Sat Apr 4 21:01:32 2009
@@ -21,7 +21,7 @@
using namespace decaf;
using namespace decaf::lang;
-void BooleanTest::test(void)
+void BooleanTest::test()
{
bool x = Boolean::parseBoolean("false");
bool y = Boolean::parseBoolean("true");
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/BooleanTest.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/BooleanTest.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/BooleanTest.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/BooleanTest.h Sat Apr 4 21:01:32 2009
@@ -37,7 +37,7 @@
BooleanTest() {}
virtual ~BooleanTest() {}
- virtual void test(void);
+ virtual void test();
};
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/IntegerTest.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/IntegerTest.cpp?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/IntegerTest.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/IntegerTest.cpp Sat Apr 4 21:01:32 2009
@@ -22,7 +22,7 @@
using namespace decaf::lang;
////////////////////////////////////////////////////////////////////////////////
-void IntegerTest::test(void)
+void IntegerTest::test()
{
int x = Integer::parseInt("12");
int y = Integer::parseInt("FF", 16);
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/IntegerTest.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/IntegerTest.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/IntegerTest.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/lang/IntegerTest.h Sat Apr 4 21:01:32 2009
@@ -35,8 +35,8 @@
public:
- IntegerTest(void) {}
- virtual ~IntegerTest(void) {}
+ IntegerTest() {}
+ virtual ~IntegerTest() {}
virtual void test();
virtual void test2();
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/util/concurrent/ThreadPoolTest.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/util/concurrent/ThreadPoolTest.h?rev=762007&r1=762006&r2=762007&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/util/concurrent/ThreadPoolTest.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/util/concurrent/ThreadPoolTest.h Sat Apr 4 21:01:32 2009
@@ -92,7 +92,7 @@
virtual ~MyTask() {};
- virtual void run(void) {
+ virtual void run() {
value += 100;
}
};
@@ -111,7 +111,7 @@
virtual ~MyWaitingTask() {};
- virtual void run(void) {
+ virtual void run() {
try
{
synchronized(mutex) {