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/02/13 01:55:54 UTC

svn commit: r743942 - in /activemq/activemq-cpp/trunk/src/main: activemq/commands/ java/org/apache/activemq/openwire/tool/

Author: tabish
Date: Fri Feb 13 00:55:52 2009
New Revision: 743942

URL: http://svn.apache.org/viewvc?rev=743942&view=rev
Log:
Rearrange the copyDataStructure method to check for NULLs and correct type before it calls its base class copyDataStructure method.  Change the way a Message is cloned so that it creates a new instance of its message Id so that senders won't be able to stomp on an existing message's Id in the send queue.  

Modified:
    activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerId.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionControl.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionError.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionId.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerControl.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerId.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ControlCommand.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/DataArrayResponse.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/DataResponse.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/DestinationInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/DiscoveryEvent.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ExceptionResponse.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/FlushCommand.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/IntegerResponse.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalQueueAck.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTopicAck.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTrace.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTransaction.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/KeepAliveInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/LastPartialCommand.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/LocalTransactionId.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/Message.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageAck.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatch.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatchNotification.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageId.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/MessagePull.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/NetworkBridgeFilter.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/PartialCommand.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerAck.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerId.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveSubscriptionInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ReplayCommand.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/Response.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionId.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/ShutdownInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/SubscriptionInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionId.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionInfo.cpp
    activemq/activemq-cpp/trunk/src/main/activemq/commands/XATransactionId.cpp
    activemq/activemq-cpp/trunk/src/main/java/org/apache/activemq/openwire/tool/AmqCppClassesGenerator.java

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -70,9 +71,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const BrokerId* srcPtr = dynamic_cast<const BrokerId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -80,6 +78,10 @@
             __FILE__, __LINE__,
             "BrokerId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setValue( srcPtr->getValue() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/BrokerInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -73,9 +74,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const BrokerInfo* srcPtr = dynamic_cast<const BrokerInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -83,6 +81,10 @@
             __FILE__, __LINE__,
             "BrokerInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setBrokerId( srcPtr->getBrokerId() );
     this->setBrokerURL( srcPtr->getBrokerURL() );
     this->setPeerBrokerInfos( srcPtr->getPeerBrokerInfos() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionControl.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionControl.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionControl.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionControl.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -68,9 +69,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ConnectionControl* srcPtr = dynamic_cast<const ConnectionControl*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -78,6 +76,10 @@
             __FILE__, __LINE__,
             "ConnectionControl::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setClose( srcPtr->isClose() );
     this->setExit( srcPtr->isExit() );
     this->setFaultTolerant( srcPtr->isFaultTolerant() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionError.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionError.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionError.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionError.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ConnectionError* srcPtr = dynamic_cast<const ConnectionError*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "ConnectionError::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setException( srcPtr->getException() );
     this->setConnectionId( srcPtr->getConnectionId() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -70,9 +71,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const ConnectionId* srcPtr = dynamic_cast<const ConnectionId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -80,6 +78,10 @@
             __FILE__, __LINE__,
             "ConnectionId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setValue( srcPtr->getValue() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ConnectionInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -69,9 +70,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ConnectionInfo* srcPtr = dynamic_cast<const ConnectionInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -79,6 +77,10 @@
             __FILE__, __LINE__,
             "ConnectionInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setConnectionId( srcPtr->getConnectionId() );
     this->setClientId( srcPtr->getClientId() );
     this->setPassword( srcPtr->getPassword() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerControl.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerControl.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerControl.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerControl.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -68,9 +69,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ConsumerControl* srcPtr = dynamic_cast<const ConsumerControl*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -78,6 +76,10 @@
             __FILE__, __LINE__,
             "ConsumerControl::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setClose( srcPtr->isClose() );
     this->setConsumerId( srcPtr->getConsumerId() );
     this->setPrefetch( srcPtr->getPrefetch() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -72,9 +73,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const ConsumerId* srcPtr = dynamic_cast<const ConsumerId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -82,6 +80,10 @@
             __FILE__, __LINE__,
             "ConsumerId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setConnectionId( srcPtr->getConnectionId() );
     this->setSessionId( srcPtr->getSessionId() );
     this->setValue( srcPtr->getValue() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ConsumerInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -76,9 +77,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ConsumerInfo* srcPtr = dynamic_cast<const ConsumerInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -86,6 +84,10 @@
             __FILE__, __LINE__,
             "ConsumerInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setConsumerId( srcPtr->getConsumerId() );
     this->setBrowser( srcPtr->isBrowser() );
     this->setDestination( srcPtr->getDestination() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ControlCommand.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ControlCommand.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ControlCommand.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ControlCommand.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ControlCommand* srcPtr = dynamic_cast<const ControlCommand*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "ControlCommand::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setCommand( srcPtr->getCommand() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/DataArrayResponse.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/DataArrayResponse.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/DataArrayResponse.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/DataArrayResponse.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    Response::copyDataStructure( src );
-
     const DataArrayResponse* srcPtr = dynamic_cast<const DataArrayResponse*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "DataArrayResponse::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    Response::copyDataStructure( src );
+
     this->setData( srcPtr->getData() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/DataResponse.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/DataResponse.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/DataResponse.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/DataResponse.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    Response::copyDataStructure( src );
-
     const DataResponse* srcPtr = dynamic_cast<const DataResponse*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "DataResponse::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    Response::copyDataStructure( src );
+
     this->setData( srcPtr->getData() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/DestinationInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/DestinationInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/DestinationInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/DestinationInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -65,9 +66,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const DestinationInfo* srcPtr = dynamic_cast<const DestinationInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -75,6 +73,10 @@
             __FILE__, __LINE__,
             "DestinationInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setConnectionId( srcPtr->getConnectionId() );
     this->setDestination( srcPtr->getDestination() );
     this->setOperationType( srcPtr->getOperationType() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/DiscoveryEvent.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/DiscoveryEvent.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/DiscoveryEvent.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/DiscoveryEvent.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -65,9 +66,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const DiscoveryEvent* srcPtr = dynamic_cast<const DiscoveryEvent*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -75,6 +73,10 @@
             __FILE__, __LINE__,
             "DiscoveryEvent::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setServiceName( srcPtr->getServiceName() );
     this->setBrokerName( srcPtr->getBrokerName() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ExceptionResponse.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ExceptionResponse.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ExceptionResponse.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ExceptionResponse.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    Response::copyDataStructure( src );
-
     const ExceptionResponse* srcPtr = dynamic_cast<const ExceptionResponse*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "ExceptionResponse::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    Response::copyDataStructure( src );
+
     this->setException( srcPtr->getException() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/FlushCommand.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/FlushCommand.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/FlushCommand.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/FlushCommand.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const FlushCommand* srcPtr = dynamic_cast<const FlushCommand*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "FlushCommand::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/IntegerResponse.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/IntegerResponse.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/IntegerResponse.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/IntegerResponse.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    Response::copyDataStructure( src );
-
     const IntegerResponse* srcPtr = dynamic_cast<const IntegerResponse*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "IntegerResponse::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    Response::copyDataStructure( src );
+
     this->setResult( srcPtr->getResult() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalQueueAck.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalQueueAck.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalQueueAck.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalQueueAck.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const JournalQueueAck* srcPtr = dynamic_cast<const JournalQueueAck*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "JournalQueueAck::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setDestination( srcPtr->getDestination() );
     this->setMessageAck( srcPtr->getMessageAck() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTopicAck.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTopicAck.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTopicAck.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTopicAck.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -66,9 +67,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const JournalTopicAck* srcPtr = dynamic_cast<const JournalTopicAck*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -76,6 +74,10 @@
             __FILE__, __LINE__,
             "JournalTopicAck::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setDestination( srcPtr->getDestination() );
     this->setMessageId( srcPtr->getMessageId() );
     this->setMessageSequenceId( srcPtr->getMessageSequenceId() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTrace.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTrace.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTrace.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTrace.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const JournalTrace* srcPtr = dynamic_cast<const JournalTrace*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "JournalTrace::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setMessage( srcPtr->getMessage() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTransaction.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTransaction.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTransaction.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/JournalTransaction.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -65,9 +66,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const JournalTransaction* srcPtr = dynamic_cast<const JournalTransaction*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -75,6 +73,10 @@
             __FILE__, __LINE__,
             "JournalTransaction::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setTransactionId( srcPtr->getTransactionId() );
     this->setType( srcPtr->getType() );
     this->setWasPrepared( srcPtr->getWasPrepared() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/KeepAliveInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/KeepAliveInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/KeepAliveInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/KeepAliveInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const KeepAliveInfo* srcPtr = dynamic_cast<const KeepAliveInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "KeepAliveInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/LastPartialCommand.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/LastPartialCommand.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/LastPartialCommand.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/LastPartialCommand.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    PartialCommand::copyDataStructure( src );
-
     const LastPartialCommand* srcPtr = dynamic_cast<const LastPartialCommand*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "LastPartialCommand::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    PartialCommand::copyDataStructure( src );
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/LocalTransactionId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/LocalTransactionId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/LocalTransactionId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/LocalTransactionId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -70,9 +71,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    TransactionId::copyDataStructure( src );
-
     const LocalTransactionId* srcPtr = dynamic_cast<const LocalTransactionId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -80,6 +78,10 @@
             __FILE__, __LINE__,
             "LocalTransactionId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    TransactionId::copyDataStructure( src );
+
     this->setValue( srcPtr->getValue() );
     this->setConnectionId( srcPtr->getConnectionId() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/Message.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/Message.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/Message.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/Message.cpp Fri Feb 13 00:55:52 2009
@@ -25,6 +25,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -82,9 +83,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const Message* srcPtr = dynamic_cast<const Message*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -92,13 +90,17 @@
             __FILE__, __LINE__,
             "Message::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->properties.copy( srcPtr->properties );
     this->setAckHandler( srcPtr->getAckHandler() );
     this->setProducerId( srcPtr->getProducerId() );
     this->setDestination( srcPtr->getDestination() );
     this->setTransactionId( srcPtr->getTransactionId() );
     this->setOriginalDestination( srcPtr->getOriginalDestination() );
-    this->setMessageId( srcPtr->getMessageId() );
+    this->setMessageId( Pointer<MessageId>( new MessageId( *( srcPtr->getMessageId() ) ) ) );
     this->setOriginalTransactionId( srcPtr->getOriginalTransactionId() );
     this->setGroupID( srcPtr->getGroupID() );
     this->setGroupSequence( srcPtr->getGroupSequence() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageAck.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageAck.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageAck.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageAck.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -65,9 +66,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const MessageAck* srcPtr = dynamic_cast<const MessageAck*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -75,6 +73,10 @@
             __FILE__, __LINE__,
             "MessageAck::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setDestination( srcPtr->getDestination() );
     this->setTransactionId( srcPtr->getTransactionId() );
     this->setConsumerId( srcPtr->getConsumerId() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatch.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatch.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatch.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatch.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const MessageDispatch* srcPtr = dynamic_cast<const MessageDispatch*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "MessageDispatch::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setConsumerId( srcPtr->getConsumerId() );
     this->setDestination( srcPtr->getDestination() );
     this->setMessage( srcPtr->getMessage() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatchNotification.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatchNotification.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatchNotification.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageDispatchNotification.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const MessageDispatchNotification* srcPtr = dynamic_cast<const MessageDispatchNotification*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "MessageDispatchNotification::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setConsumerId( srcPtr->getConsumerId() );
     this->setDestination( srcPtr->getDestination() );
     this->setDeliverySequenceId( srcPtr->getDeliverySequenceId() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/MessageId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -71,9 +72,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const MessageId* srcPtr = dynamic_cast<const MessageId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -81,6 +79,10 @@
             __FILE__, __LINE__,
             "MessageId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setProducerId( srcPtr->getProducerId() );
     this->setProducerSequenceId( srcPtr->getProducerSequenceId() );
     this->setBrokerSequenceId( srcPtr->getBrokerSequenceId() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/MessagePull.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/MessagePull.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/MessagePull.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/MessagePull.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -65,9 +66,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const MessagePull* srcPtr = dynamic_cast<const MessagePull*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -75,6 +73,10 @@
             __FILE__, __LINE__,
             "MessagePull::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setConsumerId( srcPtr->getConsumerId() );
     this->setDestination( srcPtr->getDestination() );
     this->setTimeout( srcPtr->getTimeout() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/NetworkBridgeFilter.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/NetworkBridgeFilter.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/NetworkBridgeFilter.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/NetworkBridgeFilter.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const NetworkBridgeFilter* srcPtr = dynamic_cast<const NetworkBridgeFilter*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "NetworkBridgeFilter::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setNetworkTTL( srcPtr->getNetworkTTL() );
     this->setNetworkBrokerId( srcPtr->getNetworkBrokerId() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/PartialCommand.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/PartialCommand.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/PartialCommand.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/PartialCommand.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const PartialCommand* srcPtr = dynamic_cast<const PartialCommand*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "PartialCommand::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setCommandId( srcPtr->getCommandId() );
     this->setData( srcPtr->getData() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerAck.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerAck.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerAck.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerAck.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ProducerAck* srcPtr = dynamic_cast<const ProducerAck*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "ProducerAck::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setProducerId( srcPtr->getProducerId() );
     this->setSize( srcPtr->getSize() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -72,9 +73,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const ProducerId* srcPtr = dynamic_cast<const ProducerId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -82,6 +80,10 @@
             __FILE__, __LINE__,
             "ProducerId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setConnectionId( srcPtr->getConnectionId() );
     this->setValue( srcPtr->getValue() );
     this->setSessionId( srcPtr->getSessionId() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ProducerInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -65,9 +66,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ProducerInfo* srcPtr = dynamic_cast<const ProducerInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -75,6 +73,10 @@
             __FILE__, __LINE__,
             "ProducerInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setProducerId( srcPtr->getProducerId() );
     this->setDestination( srcPtr->getDestination() );
     this->setBrokerPath( srcPtr->getBrokerPath() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const RemoveInfo* srcPtr = dynamic_cast<const RemoveInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "RemoveInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setObjectId( srcPtr->getObjectId() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveSubscriptionInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveSubscriptionInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveSubscriptionInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/RemoveSubscriptionInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -65,9 +66,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const RemoveSubscriptionInfo* srcPtr = dynamic_cast<const RemoveSubscriptionInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -75,6 +73,10 @@
             __FILE__, __LINE__,
             "RemoveSubscriptionInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setConnectionId( srcPtr->getConnectionId() );
     this->setSubcriptionName( srcPtr->getSubcriptionName() );
     this->setClientId( srcPtr->getClientId() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ReplayCommand.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ReplayCommand.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ReplayCommand.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ReplayCommand.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -65,9 +66,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ReplayCommand* srcPtr = dynamic_cast<const ReplayCommand*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -75,6 +73,10 @@
             __FILE__, __LINE__,
             "ReplayCommand::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setFirstNakNumber( srcPtr->getFirstNakNumber() );
     this->setLastNakNumber( srcPtr->getLastNakNumber() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/Response.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/Response.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/Response.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/Response.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const Response* srcPtr = dynamic_cast<const Response*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "Response::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setCorrelationId( srcPtr->getCorrelationId() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -71,9 +72,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const SessionId* srcPtr = dynamic_cast<const SessionId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -81,6 +79,10 @@
             __FILE__, __LINE__,
             "SessionId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setConnectionId( srcPtr->getConnectionId() );
     this->setValue( srcPtr->getValue() );
 }

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/SessionInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const SessionInfo* srcPtr = dynamic_cast<const SessionInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "SessionInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setSessionId( srcPtr->getSessionId() );
 }
 

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/ShutdownInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/ShutdownInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/ShutdownInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/ShutdownInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -63,9 +64,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const ShutdownInfo* srcPtr = dynamic_cast<const ShutdownInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -73,6 +71,10 @@
             __FILE__, __LINE__,
             "ShutdownInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/SubscriptionInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/SubscriptionInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/SubscriptionInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/SubscriptionInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -66,9 +67,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const SubscriptionInfo* srcPtr = dynamic_cast<const SubscriptionInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -76,6 +74,10 @@
             __FILE__, __LINE__,
             "SubscriptionInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
     this->setClientId( srcPtr->getClientId() );
     this->setDestination( srcPtr->getDestination() );
     this->setSelector( srcPtr->getSelector() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -69,9 +70,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseDataStructure::copyDataStructure( src );
-
     const TransactionId* srcPtr = dynamic_cast<const TransactionId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -79,6 +77,10 @@
             __FILE__, __LINE__,
             "TransactionId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionInfo.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionInfo.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionInfo.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/TransactionInfo.cpp Fri Feb 13 00:55:52 2009
@@ -23,6 +23,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -64,9 +65,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    BaseCommand::copyDataStructure( src );
-
     const TransactionInfo* srcPtr = dynamic_cast<const TransactionInfo*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -74,6 +72,10 @@
             __FILE__, __LINE__,
             "TransactionInfo::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
     this->setConnectionId( srcPtr->getConnectionId() );
     this->setTransactionId( srcPtr->getTransactionId() );
     this->setType( srcPtr->getType() );

Modified: activemq/activemq-cpp/trunk/src/main/activemq/commands/XATransactionId.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/commands/XATransactionId.cpp?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/commands/XATransactionId.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/commands/XATransactionId.cpp Fri Feb 13 00:55:52 2009
@@ -24,6 +24,7 @@
 using namespace activemq;
 using namespace activemq::exceptions;
 using namespace activemq::commands;
+using namespace decaf::lang;
 using namespace decaf::lang::exceptions;
 
 /*
@@ -70,9 +71,6 @@
         return;
     }
 
-    // Copy the data of the base class or classes
-    TransactionId::copyDataStructure( src );
-
     const XATransactionId* srcPtr = dynamic_cast<const XATransactionId*>( src );
 
     if( srcPtr == NULL || src == NULL ) {
@@ -80,6 +78,10 @@
             __FILE__, __LINE__,
             "XATransactionId::copyDataStructure - src is NULL or invalid" );
     }
+
+    // Copy the data of the base class or classes
+    TransactionId::copyDataStructure( src );
+
     this->setFormatId( srcPtr->getFormatId() );
     this->setGlobalTransactionId( srcPtr->getGlobalTransactionId() );
     this->setBranchQualifier( srcPtr->getBranchQualifier() );

Modified: activemq/activemq-cpp/trunk/src/main/java/org/apache/activemq/openwire/tool/AmqCppClassesGenerator.java
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/java/org/apache/activemq/openwire/tool/AmqCppClassesGenerator.java?rev=743942&r1=743941&r2=743942&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/java/org/apache/activemq/openwire/tool/AmqCppClassesGenerator.java (original)
+++ activemq/activemq-cpp/trunk/src/main/java/org/apache/activemq/openwire/tool/AmqCppClassesGenerator.java Fri Feb 13 00:55:52 2009
@@ -179,6 +179,7 @@
 out.println("using namespace activemq;");
 out.println("using namespace activemq::exceptions;");
 out.println("using namespace activemq::commands;");
+out.println("using namespace decaf::lang;");
 out.println("using namespace decaf::lang::exceptions;");
 out.println("");
 out.println("/*");
@@ -250,13 +251,6 @@
 out.println("        return;");
 out.println("    }");
 out.println("");
-
-        if( baseClass != null ) {
-out.println("    // Copy the data of the base class or classes");
-out.println("    "+ baseClass +"::copyDataStructure( src );");
-out.println("");
-        }
-
 out.println("    const "+className+"* srcPtr = dynamic_cast<const "+className+"*>( src );");
 out.println("");
 out.println("    if( srcPtr == NULL || src == NULL ) {");
@@ -264,6 +258,13 @@
 out.println("            __FILE__, __LINE__,");
 out.println("            \""+className+"::copyDataStructure - src is NULL or invalid\" );");
 out.println("    }");
+out.println("");
+
+            if( baseClass != null ) {
+    out.println("    // Copy the data of the base class or classes");
+    out.println("    "+ baseClass +"::copyDataStructure( src );");
+    out.println("");
+            }
 
         if( className.equals( "Message" ) ) {
 out.println("    this->properties.copy( srcPtr->properties );");
@@ -275,7 +276,13 @@
              String getter = property.getGetter().getSimpleName();
              String setter = property.getSetter().getSimpleName();
 
+             if( className.equals( "Message" ) &&
+                 property.getType().getSimpleName().equals( "MessageId" ) ) {
+out.println("    this->"+setter+"( Pointer<MessageId>( new MessageId( *( srcPtr->"+getter+"() ) ) ) );" );
+
+             } else {
 out.println("    this->"+setter+"( srcPtr->"+getter+"() );");
+             }
     }
 
 out.println("}");