activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tab...@apache.org
Subject svn commit: r890986 - in /activemq/activemq-cpp/branches/activemq-cpp-3.1.x: ./ activemq-cpp/ activemq-cpp/src/main/ activemq-cpp/src/main/activemq/commands/ activemq-cpp/src/main/activemq/core/ activemq-cpp/src/main/activemq/exceptions/ activemq-cpp/s...
Date Tue, 15 Dec 2009 21:00:07 GMT
Author: tabish
Date: Tue Dec 15 21:00:05 2009
New Revision: 890986

URL: http://svn.apache.org/viewvc?rev=890986&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQCPP-272

1. Add the UnsupportedOperationException type to CMS.
2. Update the MessageProducer interface to indicate what exceptions are thrown from the send methods.
3. Fix the ActiveMQProducer class to throw the correct exceptions:
	A. UnsupportedOperationException if called with a NULL Destination and there's not default
	B. UnsupportedOperationException if called with a Destination that is not the default when one was specified.
	C. InvalidDestinatioException if there's a default but Null is passed.
4. Adds new Integration tests to cover the cases outlined above.

Added:
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/cms/UnsupportedOperationException.cpp
      - copied unchanged from r890972, activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/UnsupportedOperationException.cpp
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/cms/UnsupportedOperationException.h
      - copied unchanged from r890972, activemq/activemq-cpp/trunk/activemq-cpp/src/main/cms/UnsupportedOperationException.h
Modified:
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/RELEASE_NOTES.txt
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/Makefile.am
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.cpp
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.h
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQTextMessage.cpp
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.cpp
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.h
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/exceptions/BrokerException.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/correlator/   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/logging/LoggingTransport.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/logging/LoggingTransport.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/mock/MockTransport.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/mock/MockTransport.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/mock/MockTransportFactory.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/mock/MockTransportFactory.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/tcp/TcpTransportFactory.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/tcp/TcpTransportFactory.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/util/CMSExceptionSupport.h
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/cms/MessageProducer.h
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/decaf/lang/Thread.cpp
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.h
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireSimpleTest.h
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQBytesMessageTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQBytesMessageTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQDestinationTest2.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQDestinationTest2.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQMapMessageTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQMapMessageTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQMessageTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQMessageTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQQueueTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQQueueTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTempQueueTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTempQueueTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTempTopicTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTempTopicTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTextMessageTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTextMessageTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTopicTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTopicTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/BrokerIdTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/BrokerIdTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/BrokerInfoTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/BrokerInfoTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/transport/correlator/   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/OpenWireFormatTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/OpenWireFormatTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/marshal/BaseDataStreamMarshallerTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/marshal/BaseDataStreamMarshallerTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/marshal/PrimitiveTypesMarshallerTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/marshal/PrimitiveTypesMarshallerTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/BooleanStreamTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/BooleanStreamTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/HexTableTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/HexTableTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/MessagePropertyInterceptorTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/MessagePropertyInterceptorTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/OpenwireStringSupportTest.cpp   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/OpenwireStringSupportTest.h   (props changed)
    activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/vs2005-build/vs2005-activemq.vcproj

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/
------------------------------------------------------------------------------
    svn:mergeinfo = /activemq/activemq-cpp/trunk:890958-890972

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/RELEASE_NOTES.txt?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/RELEASE_NOTES.txt (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/RELEASE_NOTES.txt Tue Dec 15 21:00:05 2009
@@ -25,6 +25,8 @@
                      std::size_t offset, std::size_t len )
     * [AMQCPP-270] - Broker exception on message Ack,
     * [AMQCPP-271] - Connection shutdown crashes if the server went down
+    * [AMQCPP-272] - MessageProducer is not throwing correct exceptions when called with
+                     invalid arguments.
 
 Improvement
 

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/Makefile.am
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/Makefile.am?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/Makefile.am (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/Makefile.am Tue Dec 15 21:00:05 2009
@@ -475,6 +475,7 @@
     cms/MessageFormatException.cpp \
     cms/MessageNotReadableException.cpp \
     cms/MessageNotWriteableException.cpp \
+    cms/UnsupportedOperationException.cpp \
     decaf/internal/AprPool.cpp \
     decaf/internal/DecafRuntime.cpp \
     decaf/internal/io/StandardErrorOutputStream.cpp \
@@ -1083,6 +1084,7 @@
     cms/TemporaryTopic.h \
     cms/TextMessage.h \
     cms/Topic.h \
+    cms/UnsupportedOperationException.h \
     decaf/internal/AprPool.h \
     decaf/internal/DecafRuntime.h \
     decaf/internal/io/StandardErrorOutputStream.h \

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.cpp?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.cpp (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.cpp Tue Dec 15 21:00:05 2009
@@ -112,7 +112,7 @@
 
         initializeReading();
 
-        int length = this->getBodyLength();
+        std::size_t length = this->getBodyLength();
 
         if( length != 0 ) {
             unsigned char* buffer = new unsigned char[length];

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.h?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.h (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQBytesMessage.h Tue Dec 15 21:00:05 2009
@@ -59,7 +59,7 @@
         /**
          * Tracks the actual length of the Message when compressed.
          */
-        mutable int length;
+        mutable std::size_t length;
 
     public:
 

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQTextMessage.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQTextMessage.cpp?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQTextMessage.cpp (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/commands/ActiveMQTextMessage.cpp Tue Dec 15 21:00:05 2009
@@ -126,8 +126,8 @@
     if( this->text.get() != NULL ) {
         unsigned int size = commands::Message::DEFAULT_MESSAGE_SIZE;
 
-        size += getMarshalledProperties().size();
-        size += this->text->size() * 2;
+        size += (unsigned int)getMarshalledProperties().size();
+        size += (unsigned int)this->text->size() * 2;
 
         return size;
     }

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp Tue Dec 15 21:00:05 2009
@@ -592,7 +592,7 @@
         this->getTransport().oneway( command );
     }
     AMQ_CATCH_EXCEPTION_CONVERT( IOException, ActiveMQException )
-    AMQ_CATCH_EXCEPTION_CONVERT( UnsupportedOperationException, ActiveMQException )
+    AMQ_CATCH_EXCEPTION_CONVERT( decaf::lang::exceptions::UnsupportedOperationException, ActiveMQException )
     AMQ_CATCH_EXCEPTION_CONVERT( Exception, ActiveMQException )
     AMQ_CATCHALL_THROW( ActiveMQException )
 }
@@ -627,7 +627,7 @@
     }
     AMQ_CATCH_RETHROW( ActiveMQException )
     AMQ_CATCH_EXCEPTION_CONVERT( IOException, ActiveMQException )
-    AMQ_CATCH_EXCEPTION_CONVERT( UnsupportedOperationException, ActiveMQException )
+    AMQ_CATCH_EXCEPTION_CONVERT( decaf::lang::exceptions::UnsupportedOperationException, ActiveMQException )
     AMQ_CATCH_EXCEPTION_CONVERT( Exception, ActiveMQException )
     AMQ_CATCHALL_THROW( ActiveMQException )
 }

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.cpp?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.cpp (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.cpp Tue Dec 15 21:00:05 2009
@@ -90,65 +90,59 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ActiveMQProducer::send( cms::Message* message )
-    throw ( cms::CMSException ) {
+void ActiveMQProducer::send( cms::Message* message ) throw ( cms::CMSException,
+                                                             cms::MessageFormatException,
+                                                             cms::InvalidDestinationException,
+                                                             cms::UnsupportedOperationException ) {
 
     try {
 
         this->checkClosed();
 
-        if( this->destination.get() == NULL ) {
-            throw ActiveMQException(
-                __FILE__, __LINE__,
-                "ActiveMQProducer::send - "
-                "Producer has no Destination, must call send( dest, msg )" );
-        }
-
         this->send( this->destination.get(), message );
     }
     AMQ_CATCH_ALL_THROW_CMSEXCEPTION()
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ActiveMQProducer::send( cms::Message* message, int deliveryMode,
-                             int priority, long long timeToLive )
-                                throw ( cms::CMSException ) {
+void ActiveMQProducer::send( cms::Message* message, int deliveryMode, int priority, long long timeToLive )
+    throw ( cms::CMSException,
+            cms::MessageFormatException,
+            cms::InvalidDestinationException,
+            cms::UnsupportedOperationException ) {
+
     try {
 
         this->checkClosed();
 
-        if( this->destination.get() == NULL ) {
-            throw ActiveMQException(
-                __FILE__, __LINE__,
-                "ActiveMQProducer::send - "
-                "Producer has no Destination, must call send( dest, msg )" );
-        }
-
-        this->send( this->destination.get(), message, deliveryMode,
-                    priority, timeToLive );
+        this->send( this->destination.get(), message, deliveryMode, priority, timeToLive );
     }
     AMQ_CATCH_ALL_THROW_CMSEXCEPTION()
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ActiveMQProducer::send( const cms::Destination* destination,
-                             cms::Message* message ) throw ( cms::CMSException ) {
+void ActiveMQProducer::send( const cms::Destination* destination, cms::Message* message )
+    throw ( cms::CMSException,
+            cms::MessageFormatException,
+            cms::InvalidDestinationException,
+            cms::UnsupportedOperationException ) {
 
     try {
 
         this->checkClosed();
 
-        this->send( destination, message, defaultDeliveryMode,
-                    defaultPriority, defaultTimeToLive );
+        this->send( destination, message, defaultDeliveryMode, defaultPriority, defaultTimeToLive );
     }
     AMQ_CATCH_ALL_THROW_CMSEXCEPTION()
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ActiveMQProducer::send( const cms::Destination* destination,
-                             cms::Message* message, int deliveryMode,
-                             int priority, long long timeToLive )
-    throw ( cms::CMSException ) {
+void ActiveMQProducer::send( const cms::Destination* destination, cms::Message* message,
+                             int deliveryMode, int priority, long long timeToLive )
+    throw ( cms::CMSException,
+            cms::MessageFormatException,
+            cms::InvalidDestinationException,
+            cms::UnsupportedOperationException ) {
 
     try {
 
@@ -156,19 +150,39 @@
 
         if( destination == NULL ) {
 
-            throw ActiveMQException(
-                __FILE__, __LINE__,
-                "ActiveMQProducer::send - Attempting to send on NULL destination");
+            if( this->producerInfo->getDestination() == NULL ) {
+                throw cms::UnsupportedOperationException( "A destination must be specified.", NULL );
+            }
+
+            throw cms::InvalidDestinationException( "Don't understand null destinations", NULL );
+        }
+
+        const cms::Destination* dest;
+        if( destination == dynamic_cast<cms::Destination*>( this->producerInfo->getDestination().get() ) ) {
+            dest = destination;
+        } else if( this->producerInfo->getDestination() == NULL ) {
+
+            // TODO - We should apply a Transform so ensure the user hasn't create some
+            //        external cms::Destination implementation.
+            dest = destination;
+        } else {
+            throw cms::UnsupportedOperationException( string( "This producer can only send messages to: " ) +
+                                                              this->producerInfo->getDestination()->getPhysicalName(), NULL );
+        }
+
+        if( dest == NULL ) {
+            throw cms::CMSException( "No destination specified", NULL );
         }
 
         // configure the message
-        message->setCMSDestination( destination );
+        message->setCMSDestination( dest );
         message->setCMSDeliveryMode( deliveryMode );
         message->setCMSPriority( priority );
 
         long long expiration = 0LL;
 
         if( !disableTimestamps ) {
+
             long long timeStamp = System::currentTimeMillis();
             message->setCMSTimestamp( timeStamp );
             if( timeToLive > 0LL ) {

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.h?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.h (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/core/ActiveMQProducer.h Tue Dec 15 21:00:05 2009
@@ -102,50 +102,102 @@
         virtual void close() throw ( cms::CMSException );
 
         /**
-         * Sends the message to the default producer destination.
-         * @param message A Message Object Pointer for the Message to send.
-         * @throws CMSException
-         */
-        virtual void send( cms::Message* message ) throw ( cms::CMSException );
+         * Sends the message to the default producer destination, but does
+         * not take ownership of the message, caller must still destroy it.
+         * Uses default values for deliveryMode, priority, and time to live.
+         *
+         * @param message
+         *      The message to be sent.
+         *
+         * @throws CMSException - if an internal error occurs while sending the message.
+         * @throws MessageFormatException - if an Invalid Message is given.
+         * @throws InvalidDestinationException - if a client uses this method with a
+         *         MessageProducer with an invalid destination.
+         * @throws UnsupportedOperationException - if a client uses this method with a
+         *         MessageProducer that did not specify a destination at creation time.
+         */
+        virtual void send( cms::Message* message ) throw ( cms::CMSException,
+                                                           cms::MessageFormatException,
+                                                           cms::InvalidDestinationException,
+                                                           cms::UnsupportedOperationException );
 
         /**
          * Sends the message to the default producer destination, but does
          * not take ownership of the message, caller must still destroy it.
-         * @param message A Message Object Pointer
-         * @param deliveryMode The delivery mode to be used.
-         * @param priority The priority for this message.
-         * @param timeToLive The time to live value for this message in
-         * milliseconds.
-         * @throws CMSException
-         */
-        virtual void send( cms::Message* message, int deliveryMode,
-                           int priority, long long timeToLive )
-                               throw ( cms::CMSException );
-
-        /**
-         * Sends the message to the designated destination.
-         * @param destination The CMS Destination that defines where the message is sent.
-         * @param message A Message Object Pointer
-         * @throws CMSException
-         */
-        virtual void send( const cms::Destination* destination,
-                           cms::Message* message ) throw ( cms::CMSException );
+         *
+         * @param message
+         *      The message to be sent.
+         * @param deliveryMode
+         *      The delivery mode to be used.
+         * @param priority
+         *      The priority for this message.
+         * @param timeToLive
+         *      The time to live value for this message in milliseconds.
+         *
+         * @throws CMSException - if an internal error occurs while sending the message.
+         * @throws MessageFormatException - if an Invalid Message is given.
+         * @throws InvalidDestinationException - if a client uses this method with a
+         *         MessageProducer with an invalid destination.
+         * @throws UnsupportedOperationException - if a client uses this method with a
+         *         MessageProducer that did not specify a destination at creation time.
+         */
+        virtual void send( cms::Message* message, int deliveryMode, int priority, long long timeToLive )
+            throw ( cms::CMSException,
+                    cms::MessageFormatException,
+                    cms::InvalidDestinationException,
+                    cms::UnsupportedOperationException );
+
+        /**
+         * Sends the message to the designated destination, but does
+         * not take ownership of the message, caller must still destroy it.
+         * Uses default values for deliveryMode, priority, and time to live.
+         *
+         * @param destination
+         *      The destination on which to send the message
+         * @param message
+         *      the message to be sent.
+         *
+         * @throws CMSException - if an internal error occurs while sending the message.
+         * @throws MessageFormatException - if an Invalid Message is given.
+         * @throws InvalidDestinationException - if a client uses this method with a
+         *         MessageProducer with an invalid destination.
+         * @throws UnsupportedOperationException - if a client uses this method with a
+         *         MessageProducer that did not specify a destination at creation time.
+         */
+        virtual void send( const cms::Destination* destination, cms::Message* message )
+            throw ( cms::CMSException,
+                    cms::MessageFormatException,
+                    cms::InvalidDestinationException,
+                    cms::UnsupportedOperationException );
 
         /**
          * Sends the message to the designated destination, but does
          * not take ownership of the message, caller must still destroy it.
-         * @param destination - a Message Object Pointer
-         * @param message - a Message Object Pointer
-         * @param deliveryMode The delivery mode to be used.
-         * @param priority The priority for this message.
-         * @param timeToLive The time to live value for this message in
-         * milliseconds.
-         * @throws CMSException
-         */
-        virtual void send( const cms::Destination* destination,
-                           cms::Message* message, int deliveryMode,
-                           int priority, long long timeToLive )
-                                throw ( cms::CMSException );
+         *
+         * @param destination
+         *      The destination on which to send the message
+         * @param message
+         *      The message to be sent.
+         * @param deliveryMode
+         *      The delivery mode to be used.
+         * @param priority
+         *      The priority for this message.
+         * @param timeToLive
+         *      The time to live value for this message in milliseconds.
+         *
+         * @throws CMSException - if an internal error occurs while sending the message.
+         * @throws MessageFormatException - if an Invalid Message is given.
+         * @throws InvalidDestinationException - if a client uses this method with a
+         *         MessageProducer with an invalid destination.
+         * @throws UnsupportedOperationException - if a client uses this method with a
+         *         MessageProducer that did not specify a destination at creation time.
+         */
+        virtual void send( const cms::Destination* destination, cms::Message* message,
+                           int deliveryMode, int priority, long long timeToLive )
+            throw ( cms::CMSException,
+                    cms::MessageFormatException,
+                    cms::InvalidDestinationException,
+                    cms::UnsupportedOperationException );
 
         /**
          * Sets the delivery mode for this Producer

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/exceptions/BrokerException.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/correlator/
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/logging/LoggingTransport.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/logging/LoggingTransport.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/mock/MockTransport.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/mock/MockTransport.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/mock/MockTransportFactory.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/mock/MockTransportFactory.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/tcp/TcpTransportFactory.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/transport/tcp/TcpTransportFactory.h
            ('svn:mergeinfo' removed)

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/util/CMSExceptionSupport.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/util/CMSExceptionSupport.h?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/util/CMSExceptionSupport.h (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/activemq/util/CMSExceptionSupport.h Tue Dec 15 21:00:05 2009
@@ -30,6 +30,7 @@
 #include <cms/InvalidDestinationException.h>
 #include <cms/InvalidSelectorException.h>
 #include <cms/IllegalStateException.h>
+#include <cms/UnsupportedOperationException.h>
 
 #include <decaf/lang/Exception.h>
 
@@ -93,6 +94,9 @@
     } catch( cms::MessageNotWriteableException& ex ){ \
         ex.setMark( __FILE__, __LINE__ ); \
         throw ex; \
+    } catch( cms::UnsupportedOperationException& ex ){ \
+        ex.setMark( __FILE__, __LINE__ ); \
+        throw ex; \
     } catch( cms::CMSException& ex ){ \
         ex.setMark( __FILE__, __LINE__ ); \
         throw ex; \

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/cms/MessageProducer.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/cms/MessageProducer.h?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/cms/MessageProducer.h (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/cms/MessageProducer.h Tue Dec 15 21:00:05 2009
@@ -23,6 +23,9 @@
 #include <cms/Destination.h>
 #include <cms/Closeable.h>
 #include <cms/CMSException.h>
+#include <cms/InvalidDestinationException.h>
+#include <cms/MessageFormatException.h>
+#include <cms/UnsupportedOperationException.h>
 #include <cms/DeliveryMode.h>
 
 namespace cms{
@@ -64,9 +67,17 @@
          * @param message
          *      The message to be sent.
          *
-         * @throws CMSException - if an internal error occurs.
-         */
-        virtual void send( Message* message ) throw ( CMSException ) = 0;
+         * @throws CMSException - if an internal error occurs while sending the message.
+         * @throws MessageFormatException - if an Invalid Message is given.
+         * @throws InvalidDestinationException - if a client uses this method with a
+         *         MessageProducer with an invalid destination.
+         * @throws UnsupportedOperationException - if a client uses this method with a
+         *         MessageProducer that did not specify a destination at creation time.
+         */
+        virtual void send( Message* message ) throw ( cms::CMSException,
+                                                      cms::MessageFormatException,
+                                                      cms::InvalidDestinationException,
+                                                      cms::UnsupportedOperationException ) = 0;
 
         /**
          * Sends the message to the default producer destination, but does
@@ -81,10 +92,18 @@
          * @param timeToLive
          *      The time to live value for this message in milliseconds.
          *
-         * @throws CMSException - if an internal error occurs.
-         */
-        virtual void send( Message* message, int deliveryMode, int priority,
-            long long timeToLive) throw ( CMSException ) = 0;
+         * @throws CMSException - if an internal error occurs while sending the message.
+         * @throws MessageFormatException - if an Invalid Message is given.
+         * @throws InvalidDestinationException - if a client uses this method with a
+         *         MessageProducer with an invalid destination.
+         * @throws UnsupportedOperationException - if a client uses this method with a
+         *         MessageProducer that did not specify a destination at creation time.
+         */
+        virtual void send( Message* message, int deliveryMode, int priority, long long timeToLive )
+            throw ( cms::CMSException,
+                    cms::MessageFormatException,
+                    cms::InvalidDestinationException,
+                    cms::UnsupportedOperationException ) = 0;
 
         /**
          * Sends the message to the designated destination, but does
@@ -96,10 +115,18 @@
          * @param message
          *      the message to be sent.
          *
-         * @throws CMSException - if an internal error occurs.
+         * @throws CMSException - if an internal error occurs while sending the message.
+         * @throws MessageFormatException - if an Invalid Message is given.
+         * @throws InvalidDestinationException - if a client uses this method with a
+         *         MessageProducer with an invalid destination.
+         * @throws UnsupportedOperationException - if a client uses this method with a
+         *         MessageProducer that did not specify a destination at creation time.
          */
         virtual void send( const Destination* destination, Message* message )
-            throw ( CMSException ) = 0;
+            throw ( cms::CMSException,
+                    cms::MessageFormatException,
+                    cms::InvalidDestinationException,
+                    cms::UnsupportedOperationException ) = 0;
 
         /**
          * Sends the message to the designated destination, but does
@@ -116,11 +143,19 @@
          * @param timeToLive
          *      The time to live value for this message in milliseconds.
          *
-         * @throws CMSException - if an internal error occurs.
+         * @throws CMSException - if an internal error occurs while sending the message.
+         * @throws MessageFormatException - if an Invalid Message is given.
+         * @throws InvalidDestinationException - if a client uses this method with a
+         *         MessageProducer with an invalid destination.
+         * @throws UnsupportedOperationException - if a client uses this method with a
+         *         MessageProducer that did not specify a destination at creation time.
          */
         virtual void send( const Destination* destination, Message* message,
                            int deliveryMode, int priority, long long timeToLive )
-            throw ( CMSException ) = 0;
+            throw ( cms::CMSException,
+                    cms::MessageFormatException,
+                    cms::InvalidDestinationException,
+                    cms::UnsupportedOperationException ) = 0;
 
         /**
          * Sets the delivery mode for this Producer

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/decaf/lang/Thread.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/decaf/lang/Thread.cpp?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/decaf/lang/Thread.cpp (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/main/decaf/lang/Thread.cpp Tue Dec 15 21:00:05 2009
@@ -613,7 +613,7 @@
     // instance so that other threads in Decaf can join it and wait on it.
     if( result == NULL ) {
         result = Thread::createForeignThreadInstance(
-            std::string( "ForeignThread-" ) + Integer::toString( Thread::getId() ) );
+            std::string( "ForeignThread-" ) + Long::toString( Thread::getId() ) );
     }
 
     return (Thread*)result;

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp Tue Dec 15 21:00:05 2009
@@ -138,6 +138,53 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
+void SimpleTest::testProducerSendWithNullDestination() {
+
+    // Create CMS Object for Comms
+    cms::Session* session( cmsProvider->getSession() );
+
+    CMSListener listener( session );
+
+    cms::MessageProducer* producer = cmsProvider->getProducer();
+    producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+
+    auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
+
+    CPPUNIT_ASSERT_THROW_MESSAGE(
+        "Should Throw an InvalidDestinationException",
+        producer->send( NULL, txtMessage.get() ),
+        cms::InvalidDestinationException );
+
+    producer = cmsProvider->getNoDestProducer();
+    producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+
+    CPPUNIT_ASSERT_THROW_MESSAGE(
+        "Should Throw an UnsupportedOperationException",
+        producer->send( NULL, txtMessage.get() ),
+        cms::UnsupportedOperationException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void SimpleTest::testProducerSendToNonDefaultDestination() {
+
+    // Create CMS Object for Comms
+    cms::Session* session( cmsProvider->getSession() );
+
+    CMSListener listener( session );
+
+    cms::MessageProducer* producer = cmsProvider->getProducer();
+    producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+
+    auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
+    auto_ptr<cms::Destination> destination( session->createTemporaryTopic() );
+
+    CPPUNIT_ASSERT_THROW_MESSAGE(
+        "Should Throw an UnsupportedOperationException",
+        producer->send( destination.get(), txtMessage.get() ),
+        cms::UnsupportedOperationException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
 void SimpleTest::testSyncReceive() {
 
     try {

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.h?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.h (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/SimpleTest.h Tue Dec 15 21:00:05 2009
@@ -33,6 +33,8 @@
         virtual void testAutoAck();
         virtual void testClientAck();
         virtual void testProducerWithNullDestination();
+        virtual void testProducerSendWithNullDestination();
+        virtual void testProducerSendToNonDefaultDestination();
         virtual void testSyncReceive();
         virtual void testSyncReceiveClientAck();
         virtual void testMultipleConnections();

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireSimpleTest.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireSimpleTest.h?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireSimpleTest.h (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireSimpleTest.h Tue Dec 15 21:00:05 2009
@@ -30,6 +30,8 @@
         CPPUNIT_TEST( testAutoAck );
         CPPUNIT_TEST( testClientAck );
         CPPUNIT_TEST( testProducerWithNullDestination );
+        CPPUNIT_TEST( testProducerSendWithNullDestination );
+        CPPUNIT_TEST( testProducerSendToNonDefaultDestination );
         CPPUNIT_TEST( testSyncReceive );
         CPPUNIT_TEST( testSyncReceiveClientAck );
         CPPUNIT_TEST( testMultipleConnections );

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQBytesMessageTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQBytesMessageTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQDestinationTest2.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQDestinationTest2.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQMapMessageTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQMapMessageTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQMessageTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQMessageTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQQueueTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQQueueTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTempQueueTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTempQueueTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTempTopicTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTempTopicTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTextMessageTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTextMessageTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTopicTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/ActiveMQTopicTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/BrokerIdTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/BrokerIdTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/BrokerInfoTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/commands/BrokerInfoTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/transport/correlator/
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/OpenWireFormatTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/OpenWireFormatTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/marshal/BaseDataStreamMarshallerTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/marshal/BaseDataStreamMarshallerTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/marshal/PrimitiveTypesMarshallerTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/marshal/PrimitiveTypesMarshallerTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/BooleanStreamTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/BooleanStreamTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/HexTableTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/HexTableTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/MessagePropertyInterceptorTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/MessagePropertyInterceptorTest.h
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/OpenwireStringSupportTest.cpp
            ('svn:mergeinfo' removed)

Propchange: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/src/test/activemq/wireformat/openwire/utils/OpenwireStringSupportTest.h
            ('svn:mergeinfo' removed)

Modified: activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/vs2005-build/vs2005-activemq.vcproj
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/vs2005-build/vs2005-activemq.vcproj?rev=890986&r1=890985&r2=890986&view=diff
==============================================================================
--- activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/vs2005-build/vs2005-activemq.vcproj (original)
+++ activemq/activemq-cpp/branches/activemq-cpp-3.1.x/activemq-cpp/vs2005-build/vs2005-activemq.vcproj Tue Dec 15 21:00:05 2009
@@ -821,6 +821,14 @@
 				RelativePath="..\src\main\cms\Topic.h"
 				>
 			</File>
+			<File
+				RelativePath="..\src\main\cms\UnsupportedOperationException.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\src\main\cms\UnsupportedOperationException.h"
+				>
+			</File>
 		</Filter>
 		<Filter
 			Name="activemq"



Mime
View raw message