[maven-scm] copy for tag activemq-cpp-3.1.2

git-svn-id: https://svn.apache.org/repos/asf/activemq/activemq-cpp/tags/activemq-cpp-3.1.2@926133 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/activemq-cpp/src/main/activemq/state/ConnectionState.h b/activemq-cpp/src/main/activemq/state/ConnectionState.h
index 71480c4..0fba7b6 100644
--- a/activemq-cpp/src/main/activemq/state/ConnectionState.h
+++ b/activemq-cpp/src/main/activemq/state/ConnectionState.h
@@ -25,6 +25,7 @@
 #include <activemq/commands/ConsumerId.h>
 #include <activemq/commands/ProducerId.h>
 #include <activemq/commands/TransactionId.h>
+#include <activemq/commands/LocalTransactionId.h>
 #include <activemq/state/ConsumerState.h>
 #include <activemq/state/ProducerState.h>
 #include <activemq/state/SessionState.h>
@@ -49,9 +50,9 @@
     private:
 
         Pointer< ConnectionInfo > info;
-        ConcurrentStlMap< Pointer<TransactionId>,
+        ConcurrentStlMap< Pointer<LocalTransactionId>,
                           Pointer<TransactionState>,
-                          TransactionId::COMPARATOR > transactions;
+                          LocalTransactionId::COMPARATOR > transactions;
         ConcurrentStlMap< Pointer<SessionId>,
                           Pointer<SessionState>,
                           SessionId::COMPARATOR > sessions;
@@ -96,11 +97,12 @@
 
         void addTransactionState( const Pointer<TransactionId>& id ) {
             checkShutdown();
-            transactions.put( id, Pointer<TransactionState>( new TransactionState( id ) ) );
+            transactions.put( id.dynamicCast<LocalTransactionId>(),
+                              Pointer<TransactionState>( new TransactionState( id ) ) );
         }
 
         const Pointer<TransactionState>& getTransactionState( const Pointer<TransactionId>& id ) const {
-            return transactions.get( id );
+            return transactions.get( id.dynamicCast<LocalTransactionId>() );
         }
 
         std::vector< Pointer<TransactionState> > getTransactionStates() const {
@@ -108,7 +110,7 @@
         }
 
         Pointer<TransactionState> removeTransactionState( const Pointer<TransactionId>& id ) {
-            return transactions.remove( id );
+            return transactions.remove( id.dynamicCast<LocalTransactionId>() );
         }
 
         void addSession( const Pointer<SessionInfo>& info ) {