You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/07/06 00:27:47 UTC
svn commit: r419365 [25/25] - in /incubator/activemq/trunk:
activemq-core/src/main/java/org/apache/activemq/thread/
activemq-core/src/test/java/org/apache/activemq/openwire/v1/
activemq-cpp/src/main/activemq/concurrent/
activemq-cpp/src/main/activemq/c...
Modified: incubator/activemq/trunk/openwire-cpp/src/main/cpp/activemq/Connection.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/main/cpp/activemq/Connection.cpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/main/cpp/activemq/Connection.cpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/main/cpp/activemq/Connection.cpp Wed Jul 5 15:27:34 2006
@@ -1,411 +1,411 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "activemq/Connection.hpp"
-#include "activemq/Session.hpp"
-
-using namespace apache::activemq;
-
-
-// --- Constructors -------------------------------------------------
-
-/*
- *
- */
-Connection::Connection(p<ITransport> transport, p<ConnectionInfo> connectionInfo)
-{
- this->transport = transport ;
- this->connectionInfo = connectionInfo ;
- this->acknowledgementMode = AutoAckMode ;
- this->connected = false ;
- this->closed = false ;
- this->brokerInfo = NULL ;
- this->brokerWireFormat = NULL ;
- this->sessionCounter = 0 ;
- this->tempDestinationCounter = 0 ;
- this->localTransactionCounter = 0 ;
-
- // Hook up as a command listener and start dispatching
- transport->setCommandListener(smartify(this)) ;
- transport->start() ;
-}
-
-/*
- *
- */
-Connection::~Connection()
-{
- // Make sure connection is closed
- close() ;
-}
-
-
-// --- Attribute methods --------------------------------------------
-
-/*
- *
- */
-void Connection::setExceptionListener(p<IExceptionListener> listener)
-{
- this->listener = listener ;
-}
-
-/*
- *
- */
-p<IExceptionListener> Connection::getExceptionListener()
-{
- return listener ;
-}
-
-/*
- *
- */
-p<ITransport> Connection::getTransport()
-{
- return transport ;
-}
-
-/*
- *
- */
-void Connection::setTransport(p<ITransport> transport)
-{
- this->transport = transport ;
-}
-
-/*
- *
- */
-p<string> Connection::getClientId()
-{
- return connectionInfo->getClientId() ;
-}
-
-/*
- *
- */
-void Connection::setClientId(const char* value) throw (CmsException)
-{
- if( connected )
- throw CmsException("You cannot change the client id once a connection is established") ;
-
- p<string> clientId = new string(value) ;
- connectionInfo->setClientId( clientId ) ;
-}
-
-
-/*
- *
- */
-p<BrokerInfo> Connection::getBrokerInfo()
-{
- return brokerInfo ;
-}
-
-/*
- *
- */
-p<WireFormatInfo> Connection::getBrokerWireFormat()
-{
- return brokerWireFormat ;
-}
-
-/*
- *
- */
-AcknowledgementMode Connection::getAcknowledgementMode()
-{
- return acknowledgementMode ;
-}
-
-/*
- *
- */
-void Connection::setAcknowledgementMode(AcknowledgementMode ackMode)
-{
- acknowledgementMode = ackMode ;
-}
-
-/*
- *
- */
-p<ConnectionId> Connection::getConnectionId()
-{
- return connectionInfo->getConnectionId() ;
-}
-
-
-// --- Operation methods --------------------------------------------
-
-/*
- *
- */
-void Connection::close()
-{
- if( !closed )
- {
- list< p<ISession> >::iterator sessionIter ;
-
- // Iterate through all sessions and close them down
- for( sessionIter = sessions.begin() ;
- sessionIter != sessions.end() ;
- sessionIter++ )
- {
- (*sessionIter)->close() ;
- }
- // Empty session list
- sessions.clear() ;
-
- // Remove connection from broker
- disposeOf( getConnectionId() ) ;
-
- // Finally, transmit a shutdown command to broker
- transport->oneway( new ShutdownInfo() ) ;
- closed = true ;
- }
-}
-
-/*
- *
- */
-p<ISession> Connection::createSession() throw(CmsException)
-{
- return createSession(acknowledgementMode) ;
-}
-
-/*
- *
- */
-p<ISession> Connection::createSession(AcknowledgementMode ackMode) throw(CmsException)
-{
- p<SessionInfo> sessionInfo = createSessionInfo( ackMode ) ;
-
- // Send session info to broker
- syncRequest(sessionInfo) ;
-
- p<ISession> session = new Session(smartify(this), sessionInfo, ackMode) ;
- sessions.push_back(session) ;
-
- return session ;
-}
-
-/*
- * Performs a synchronous request-response with the broker.
- */
-p<Response> Connection::syncRequest(p<BaseCommand> command) throw(CmsException)
-{
- checkConnected() ;
-
- p<Response> response = transport->request(command) ;
-
- if( response->getDataStructureType() == ExceptionResponse::TYPE )
- {
- p<ExceptionResponse> exceptionResponse = p_cast<ExceptionResponse> (response) ;
- p<BrokerError> brokerError = exceptionResponse->getException() ;
- string message ;
-
- // Build error message
- message.assign("Request failed: ") ;
- message.append( brokerError->getExceptionClass()->c_str() ) ;
- message.append(", ") ;
- message.append( brokerError->getStackTrace()->c_str() ) ;
-
- // TODO: Change to CMSException()
- throw CmsException( message.c_str() ) ;
- }
- return response ;
-}
-
-/*
- *
- */
-void Connection::oneway(p<BaseCommand> command) throw(CmsException)
-{
- checkConnected() ;
- transport->oneway(command) ;
-}
-
-/*
- *
- */
-void Connection::disposeOf(p<IDataStructure> dataStructure) throw(CmsException)
-{
- p<RemoveInfo> command = new RemoveInfo() ;
- command->setObjectId( dataStructure ) ;
- syncRequest(command) ;
-
- //
- // Delete session from internal list if a session id was supplied
- // Note! Dispose of sessions should only be invoked from Session.close()
- //
- if( dataStructure->getDataStructureType() == SessionId::TYPE )
- {
- list< p<ISession> >::iterator tempIter ;
- p<SessionId> sessionId ;
-
- // Convert data structure to a session id
- sessionId = p_cast<SessionId> (dataStructure) ;
-
- // Iterate through all sessions and check for a match on the session id
- for( tempIter = sessions.begin() ;
- tempIter != sessions.end() ;
- tempIter++ )
- {
- p<Session> session = p_cast<Session> (*tempIter) ;
-
- // Do we have a session id match?
- if( session->getSessionId()->getValue() == sessionId->getValue() )
- {
- // Remove session
- sessions.remove(session) ;
- break ;
- }
- }
- }
-}
-
-/*
- * Creates a new temporary destination name.
- */
-p<string> Connection::createTemporaryDestinationName()
-{
- p<string> name = new string() ;
- char* buffer = new char[15] ;
-
- {
- LOCKED_SCOPE( mutex );
-
- name->assign( connectionInfo->getConnectionId()->getValue()->c_str() ) ;
- name->append( ":" ) ;
-#ifdef unix
- sprintf(buffer, "%lld", ++tempDestinationCounter) ;
-#else
- sprintf(buffer, "%I64d", ++tempDestinationCounter) ;
-#endif
- name->append( buffer ) ;
- }
-
- return name ;
-}
-
-/*
- * Creates a new local transaction ID.
- */
-p<LocalTransactionId> Connection::createLocalTransactionId()
-{
- p<LocalTransactionId> id = new LocalTransactionId() ;
-
- id->setConnectionId( getConnectionId() ) ;
-
- {
- LOCKED_SCOPE (mutex);
- id->setValue( ++localTransactionCounter ) ;
- }
-
- return id ;
-}
-
-
-// --- Implementation methods ---------------------------------------
-
-/*
- *
- */
-p<SessionInfo> Connection::createSessionInfo(AcknowledgementMode ackMode)
-{
- p<SessionInfo> sessionInfo = new SessionInfo() ;
- p<SessionId> sessionId = new SessionId() ;
-
- sessionId->setConnectionId ( connectionInfo->getConnectionId()->getValue() ) ;
-
- {
- LOCKED_SCOPE( mutex );
- sessionId->setValue( ++sessionCounter ) ;
- }
-
- sessionInfo->setSessionId( sessionId ) ;
- return sessionInfo ;
-}
-
-/*
- *
- */
-void Connection::checkConnected() throw(CmsException)
-{
- if( closed )
- throw ConnectionClosedException("Oops! Connection already closed.") ;
-
- if( !connected )
- {
- connected = true ;
-
- // Send the connection info and see if we get an ack/nak
- syncRequest( connectionInfo ) ;
- }
-}
-
-/*
- * Handle incoming commands.
- */
-void Connection::onCommand(p<ITransport> transport, p<BaseCommand> command)
-{
- if( command->getDataStructureType() == MessageDispatch::TYPE )
- {
- p<MessageDispatch> dispatch = p_cast<MessageDispatch> (command) ;
- p<ConsumerId> consumerId = dispatch->getConsumerId() ;
- p<MessageConsumer> consumer = NULL ;
- list< p<ISession> >::const_iterator tempIter ;
-
- // Iterate through all sessions and check if one has the consumer
- for( tempIter = sessions.begin() ;
- tempIter != sessions.end() ;
- tempIter++ )
- {
- consumer = p_cast<Session> (*tempIter)->getConsumer(consumerId) ;
-
- // Found a match?
- if( consumer != NULL )
- break ;
- }
- if( consumer == NULL )
- cout << "ERROR: No such consumer active: " << consumerId->getValue() << endl ;
- else
- {
- p<ActiveMQMessage> message = p_cast<ActiveMQMessage> (dispatch->getMessage()) ;
- consumer->dispatch(message) ;
- }
- }
- else if( command->getDataStructureType() == WireFormatInfo::TYPE )
- this->brokerWireFormat = p_cast<WireFormatInfo> (command) ;
-
- else if( command->getDataStructureType() == BrokerInfo::TYPE )
- this->brokerInfo = p_cast<BrokerInfo> (command) ;
-
- else
- cout << "ERROR: Unknown command: " << command->getDataStructureType() << endl ;
-}
-
-/*
- * Handle incoming broker errors.
- */
-void Connection::onError(p<ITransport> transport, exception& error)
-{
- if( listener != NULL )
- this->listener->onException(error) ;
- else
- cout << "ERROR: Received a broker exception: " << error.what() << endl ;
-}
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "activemq/Connection.hpp"
+#include "activemq/Session.hpp"
+
+using namespace apache::activemq;
+
+
+// --- Constructors -------------------------------------------------
+
+/*
+ *
+ */
+Connection::Connection(p<ITransport> transport, p<ConnectionInfo> connectionInfo)
+{
+ this->transport = transport ;
+ this->connectionInfo = connectionInfo ;
+ this->acknowledgementMode = AutoAckMode ;
+ this->connected = false ;
+ this->closed = false ;
+ this->brokerInfo = NULL ;
+ this->brokerWireFormat = NULL ;
+ this->sessionCounter = 0 ;
+ this->tempDestinationCounter = 0 ;
+ this->localTransactionCounter = 0 ;
+
+ // Hook up as a command listener and start dispatching
+ transport->setCommandListener(smartify(this)) ;
+ transport->start() ;
+}
+
+/*
+ *
+ */
+Connection::~Connection()
+{
+ // Make sure connection is closed
+ close() ;
+}
+
+
+// --- Attribute methods --------------------------------------------
+
+/*
+ *
+ */
+void Connection::setExceptionListener(p<IExceptionListener> listener)
+{
+ this->listener = listener ;
+}
+
+/*
+ *
+ */
+p<IExceptionListener> Connection::getExceptionListener()
+{
+ return listener ;
+}
+
+/*
+ *
+ */
+p<ITransport> Connection::getTransport()
+{
+ return transport ;
+}
+
+/*
+ *
+ */
+void Connection::setTransport(p<ITransport> transport)
+{
+ this->transport = transport ;
+}
+
+/*
+ *
+ */
+p<string> Connection::getClientId()
+{
+ return connectionInfo->getClientId() ;
+}
+
+/*
+ *
+ */
+void Connection::setClientId(const char* value) throw (CmsException)
+{
+ if( connected )
+ throw CmsException("You cannot change the client id once a connection is established") ;
+
+ p<string> clientId = new string(value) ;
+ connectionInfo->setClientId( clientId ) ;
+}
+
+
+/*
+ *
+ */
+p<BrokerInfo> Connection::getBrokerInfo()
+{
+ return brokerInfo ;
+}
+
+/*
+ *
+ */
+p<WireFormatInfo> Connection::getBrokerWireFormat()
+{
+ return brokerWireFormat ;
+}
+
+/*
+ *
+ */
+AcknowledgementMode Connection::getAcknowledgementMode()
+{
+ return acknowledgementMode ;
+}
+
+/*
+ *
+ */
+void Connection::setAcknowledgementMode(AcknowledgementMode ackMode)
+{
+ acknowledgementMode = ackMode ;
+}
+
+/*
+ *
+ */
+p<ConnectionId> Connection::getConnectionId()
+{
+ return connectionInfo->getConnectionId() ;
+}
+
+
+// --- Operation methods --------------------------------------------
+
+/*
+ *
+ */
+void Connection::close()
+{
+ if( !closed )
+ {
+ list< p<ISession> >::iterator sessionIter ;
+
+ // Iterate through all sessions and close them down
+ for( sessionIter = sessions.begin() ;
+ sessionIter != sessions.end() ;
+ sessionIter++ )
+ {
+ (*sessionIter)->close() ;
+ }
+ // Empty session list
+ sessions.clear() ;
+
+ // Remove connection from broker
+ disposeOf( getConnectionId() ) ;
+
+ // Finally, transmit a shutdown command to broker
+ transport->oneway( new ShutdownInfo() ) ;
+ closed = true ;
+ }
+}
+
+/*
+ *
+ */
+p<ISession> Connection::createSession() throw(CmsException)
+{
+ return createSession(acknowledgementMode) ;
+}
+
+/*
+ *
+ */
+p<ISession> Connection::createSession(AcknowledgementMode ackMode) throw(CmsException)
+{
+ p<SessionInfo> sessionInfo = createSessionInfo( ackMode ) ;
+
+ // Send session info to broker
+ syncRequest(sessionInfo) ;
+
+ p<ISession> session = new Session(smartify(this), sessionInfo, ackMode) ;
+ sessions.push_back(session) ;
+
+ return session ;
+}
+
+/*
+ * Performs a synchronous request-response with the broker.
+ */
+p<Response> Connection::syncRequest(p<BaseCommand> command) throw(CmsException)
+{
+ checkConnected() ;
+
+ p<Response> response = transport->request(command) ;
+
+ if( response->getDataStructureType() == ExceptionResponse::TYPE )
+ {
+ p<ExceptionResponse> exceptionResponse = p_cast<ExceptionResponse> (response) ;
+ p<BrokerError> brokerError = exceptionResponse->getException() ;
+ string message ;
+
+ // Build error message
+ message.assign("Request failed: ") ;
+ message.append( brokerError->getExceptionClass()->c_str() ) ;
+ message.append(", ") ;
+ message.append( brokerError->getStackTrace()->c_str() ) ;
+
+ // TODO: Change to CMSException()
+ throw CmsException( message.c_str() ) ;
+ }
+ return response ;
+}
+
+/*
+ *
+ */
+void Connection::oneway(p<BaseCommand> command) throw(CmsException)
+{
+ checkConnected() ;
+ transport->oneway(command) ;
+}
+
+/*
+ *
+ */
+void Connection::disposeOf(p<IDataStructure> dataStructure) throw(CmsException)
+{
+ p<RemoveInfo> command = new RemoveInfo() ;
+ command->setObjectId( dataStructure ) ;
+ syncRequest(command) ;
+
+ //
+ // Delete session from internal list if a session id was supplied
+ // Note! Dispose of sessions should only be invoked from Session.close()
+ //
+ if( dataStructure->getDataStructureType() == SessionId::TYPE )
+ {
+ list< p<ISession> >::iterator tempIter ;
+ p<SessionId> sessionId ;
+
+ // Convert data structure to a session id
+ sessionId = p_cast<SessionId> (dataStructure) ;
+
+ // Iterate through all sessions and check for a match on the session id
+ for( tempIter = sessions.begin() ;
+ tempIter != sessions.end() ;
+ tempIter++ )
+ {
+ p<Session> session = p_cast<Session> (*tempIter) ;
+
+ // Do we have a session id match?
+ if( session->getSessionId()->getValue() == sessionId->getValue() )
+ {
+ // Remove session
+ sessions.remove(session) ;
+ break ;
+ }
+ }
+ }
+}
+
+/*
+ * Creates a new temporary destination name.
+ */
+p<string> Connection::createTemporaryDestinationName()
+{
+ p<string> name = new string() ;
+ char* buffer = new char[15] ;
+
+ {
+ LOCKED_SCOPE( mutex );
+
+ name->assign( connectionInfo->getConnectionId()->getValue()->c_str() ) ;
+ name->append( ":" ) ;
+#ifdef unix
+ sprintf(buffer, "%lld", ++tempDestinationCounter) ;
+#else
+ sprintf(buffer, "%I64d", ++tempDestinationCounter) ;
+#endif
+ name->append( buffer ) ;
+ }
+
+ return name ;
+}
+
+/*
+ * Creates a new local transaction ID.
+ */
+p<LocalTransactionId> Connection::createLocalTransactionId()
+{
+ p<LocalTransactionId> id = new LocalTransactionId() ;
+
+ id->setConnectionId( getConnectionId() ) ;
+
+ {
+ LOCKED_SCOPE (mutex);
+ id->setValue( ++localTransactionCounter ) ;
+ }
+
+ return id ;
+}
+
+
+// --- Implementation methods ---------------------------------------
+
+/*
+ *
+ */
+p<SessionInfo> Connection::createSessionInfo(AcknowledgementMode ackMode)
+{
+ p<SessionInfo> sessionInfo = new SessionInfo() ;
+ p<SessionId> sessionId = new SessionId() ;
+
+ sessionId->setConnectionId ( connectionInfo->getConnectionId()->getValue() ) ;
+
+ {
+ LOCKED_SCOPE( mutex );
+ sessionId->setValue( ++sessionCounter ) ;
+ }
+
+ sessionInfo->setSessionId( sessionId ) ;
+ return sessionInfo ;
+}
+
+/*
+ *
+ */
+void Connection::checkConnected() throw(CmsException)
+{
+ if( closed )
+ throw ConnectionClosedException("Oops! Connection already closed.") ;
+
+ if( !connected )
+ {
+ connected = true ;
+
+ // Send the connection info and see if we get an ack/nak
+ syncRequest( connectionInfo ) ;
+ }
+}
+
+/*
+ * Handle incoming commands.
+ */
+void Connection::onCommand(p<ITransport> transport, p<BaseCommand> command)
+{
+ if( command->getDataStructureType() == MessageDispatch::TYPE )
+ {
+ p<MessageDispatch> dispatch = p_cast<MessageDispatch> (command) ;
+ p<ConsumerId> consumerId = dispatch->getConsumerId() ;
+ p<MessageConsumer> consumer = NULL ;
+ list< p<ISession> >::const_iterator tempIter ;
+
+ // Iterate through all sessions and check if one has the consumer
+ for( tempIter = sessions.begin() ;
+ tempIter != sessions.end() ;
+ tempIter++ )
+ {
+ consumer = p_cast<Session> (*tempIter)->getConsumer(consumerId) ;
+
+ // Found a match?
+ if( consumer != NULL )
+ break ;
+ }
+ if( consumer == NULL )
+ cout << "ERROR: No such consumer active: " << consumerId->getValue() << endl ;
+ else
+ {
+ p<ActiveMQMessage> message = p_cast<ActiveMQMessage> (dispatch->getMessage()) ;
+ consumer->dispatch(message) ;
+ }
+ }
+ else if( command->getDataStructureType() == WireFormatInfo::TYPE )
+ this->brokerWireFormat = p_cast<WireFormatInfo> (command) ;
+
+ else if( command->getDataStructureType() == BrokerInfo::TYPE )
+ this->brokerInfo = p_cast<BrokerInfo> (command) ;
+
+ else
+ cout << "ERROR: Unknown command: " << command->getDataStructureType() << endl ;
+}
+
+/*
+ * Handle incoming broker errors.
+ */
+void Connection::onError(p<ITransport> transport, exception& error)
+{
+ if( listener != NULL )
+ this->listener->onException(error) ;
+ else
+ cout << "ERROR: Received a broker exception: " << error.what() << endl ;
+}
Propchange: incubator/activemq/trunk/openwire-cpp/src/main/cpp/activemq/Connection.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/IUnitTest.hpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/IUnitTest.hpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/IUnitTest.hpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/IUnitTest.hpp Wed Jul 5 15:27:34 2006
@@ -1,39 +1,39 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef IUnitTest_hpp_
-#define IUnitTest_hpp_
-
-// Turn off warning message for ignored exception specification
-#ifdef _MSC_VER
-#pragma warning( disable : 4290 )
-#endif
-
-#include <exception>
-#include "ppr/util/ifr/p"
-
-using namespace ifr;
-using namespace std;
-
-struct IUnitTest : Interface
-{
- virtual void setUp() throw (exception) = 0 ;
- virtual void execute() throw (exception) = 0 ;
- virtual void tearDown() throw (exception) = 0 ;
- virtual p<string> toString() = 0 ;
-};
-
-#endif /*IUnitTest_hpp_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef IUnitTest_hpp_
+#define IUnitTest_hpp_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <exception>
+#include "ppr/util/ifr/p"
+
+using namespace ifr;
+using namespace std;
+
+struct IUnitTest : Interface
+{
+ virtual void setUp() throw (exception) = 0 ;
+ virtual void execute() throw (exception) = 0 ;
+ virtual void tearDown() throw (exception) = 0 ;
+ virtual p<string> toString() = 0 ;
+};
+
+#endif /*IUnitTest_hpp_*/
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/IUnitTest.hpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.cpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.cpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.cpp Wed Jul 5 15:27:34 2006
@@ -1,121 +1,121 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "TestAsynchQueue.hpp"
-
-/*
- *
- */
-TestAsynchQueue::TestAsynchQueue(p<IConnection> connection)
-{
- this->connection = connection ;
- this->error = NULL ;
-}
-
-/*
- *
- */
-TestAsynchQueue::~TestAsynchQueue()
-{
- // no-op
-}
-
-/*
- *
- */
-void TestAsynchQueue::setUp() throw (exception)
-{
- // Create a session
- session = connection->createSession() ;
-}
-
-/*
- *
- */
-void TestAsynchQueue::execute() throw (exception)
-{
- p<IQueue> queue ;
- p<IMessageConsumer> consumer ;
- p<IMessageProducer> producer ;
- p<IBytesMessage> message ;
-
- // Connect to a queue
- queue = session->getQueue("FOO.BAR") ;
-
- // Create producer and a asycnhrounous consumer
- producer = session->createProducer(queue) ;
- consumer = session->createConsumer(queue) ;
- consumer->setMessageListener( smartify(this) ) ;
-
- // Create binary message
- message = session->createBytesMessage() ;
- message->writeBoolean(true) ;
- message->writeInt(3677490) ;
- message->writeString("Hello Binary World!") ;
-
- // Send message
- producer->send(message) ;
-
- // Wait for asynchronous message for 5s
- semaphore.wait(5) ;
-
- // Check if any error was registered by the message handler
- if( error != NULL )
- throw TraceException( error ) ;
-}
-
-/*
- *
- */
-void TestAsynchQueue::tearDown() throw (exception)
-{
- // Clean up
- session->close() ;
- session = NULL ;
-}
-
-p<string> TestAsynchQueue::toString()
-{
- p<string> str = new string("Send/receive a byte message to 1 queue listener asynchronously") ;
- return str ;
-}
-
-void TestAsynchQueue::onMessage(p<IMessage> message)
-{
- if( message == NULL )
- {
- error = "Received a null message" ;
- semaphore.notify() ;
- return ;
- }
-
- p<IBytesMessage> msg = p_dyncast<IBytesMessage> (message) ;
- if( msg == NULL )
- {
- error = "Received wrong type of message" ;
- semaphore.notify() ;
- return ;
- }
-
- // Verify message content
- if( msg->readBoolean() != true ||
- msg->readInt() != 3677490 ||
- msg->readString()->compare("Hello Binary World!") != 0 )
- {
- error = "Message content has been corrupted" ;
- }
- semaphore.notify() ;
-}
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "TestAsynchQueue.hpp"
+
+/*
+ *
+ */
+TestAsynchQueue::TestAsynchQueue(p<IConnection> connection)
+{
+ this->connection = connection ;
+ this->error = NULL ;
+}
+
+/*
+ *
+ */
+TestAsynchQueue::~TestAsynchQueue()
+{
+ // no-op
+}
+
+/*
+ *
+ */
+void TestAsynchQueue::setUp() throw (exception)
+{
+ // Create a session
+ session = connection->createSession() ;
+}
+
+/*
+ *
+ */
+void TestAsynchQueue::execute() throw (exception)
+{
+ p<IQueue> queue ;
+ p<IMessageConsumer> consumer ;
+ p<IMessageProducer> producer ;
+ p<IBytesMessage> message ;
+
+ // Connect to a queue
+ queue = session->getQueue("FOO.BAR") ;
+
+ // Create producer and a asycnhrounous consumer
+ producer = session->createProducer(queue) ;
+ consumer = session->createConsumer(queue) ;
+ consumer->setMessageListener( smartify(this) ) ;
+
+ // Create binary message
+ message = session->createBytesMessage() ;
+ message->writeBoolean(true) ;
+ message->writeInt(3677490) ;
+ message->writeString("Hello Binary World!") ;
+
+ // Send message
+ producer->send(message) ;
+
+ // Wait for asynchronous message for 5s
+ semaphore.wait(5) ;
+
+ // Check if any error was registered by the message handler
+ if( error != NULL )
+ throw TraceException( error ) ;
+}
+
+/*
+ *
+ */
+void TestAsynchQueue::tearDown() throw (exception)
+{
+ // Clean up
+ session->close() ;
+ session = NULL ;
+}
+
+p<string> TestAsynchQueue::toString()
+{
+ p<string> str = new string("Send/receive a byte message to 1 queue listener asynchronously") ;
+ return str ;
+}
+
+void TestAsynchQueue::onMessage(p<IMessage> message)
+{
+ if( message == NULL )
+ {
+ error = "Received a null message" ;
+ semaphore.notify() ;
+ return ;
+ }
+
+ p<IBytesMessage> msg = p_dyncast<IBytesMessage> (message) ;
+ if( msg == NULL )
+ {
+ error = "Received wrong type of message" ;
+ semaphore.notify() ;
+ return ;
+ }
+
+ // Verify message content
+ if( msg->readBoolean() != true ||
+ msg->readInt() != 3677490 ||
+ msg->readString()->compare("Hello Binary World!") != 0 )
+ {
+ error = "Message content has been corrupted" ;
+ }
+ semaphore.notify() ;
+}
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.hpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.hpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.hpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.hpp Wed Jul 5 15:27:34 2006
@@ -1,59 +1,59 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef TestAsynchQueue_hpp_
-#define TestAsynchQueue_hpp_
-
-#include <exception>
-#include <string>
-
-#include "cms/IConnection.hpp"
-#include "ppr/thread/Semaphore.hpp"
-#include "ppr/TraceException.hpp"
-#include "ppr/util/ifr/p"
-
-#include "IUnitTest.hpp"
-
-using namespace apache::cms;
-using namespace apache::ppr;
-using namespace apache::ppr::thread;
-using namespace ifr;
-using namespace std;
-
-/*
- * Tests sending/receiving a message to an asynchronous listener.
- */
-class TestAsynchQueue : public IUnitTest, public IMessageListener
-{
-private:
- p<IConnection> connection ;
- p<ISession> session ;
- Semaphore semaphore ;
- char* error ;
-
-public:
- TestAsynchQueue(p<IConnection> connection) ;
- virtual ~TestAsynchQueue() ;
-
- virtual void setUp() throw (exception) ;
- virtual void execute() throw (exception) ;
- virtual void tearDown() throw (exception) ;
- virtual p<string> toString() ;
-
- virtual void onMessage(p<IMessage> message) ;
-} ;
-
-#endif /*TestAsynchQueue_hpp_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef TestAsynchQueue_hpp_
+#define TestAsynchQueue_hpp_
+
+#include <exception>
+#include <string>
+
+#include "cms/IConnection.hpp"
+#include "ppr/thread/Semaphore.hpp"
+#include "ppr/TraceException.hpp"
+#include "ppr/util/ifr/p"
+
+#include "IUnitTest.hpp"
+
+using namespace apache::cms;
+using namespace apache::ppr;
+using namespace apache::ppr::thread;
+using namespace ifr;
+using namespace std;
+
+/*
+ * Tests sending/receiving a message to an asynchronous listener.
+ */
+class TestAsynchQueue : public IUnitTest, public IMessageListener
+{
+private:
+ p<IConnection> connection ;
+ p<ISession> session ;
+ Semaphore semaphore ;
+ char* error ;
+
+public:
+ TestAsynchQueue(p<IConnection> connection) ;
+ virtual ~TestAsynchQueue() ;
+
+ virtual void setUp() throw (exception) ;
+ virtual void execute() throw (exception) ;
+ virtual void tearDown() throw (exception) ;
+ virtual p<string> toString() ;
+
+ virtual void onMessage(p<IMessage> message) ;
+} ;
+
+#endif /*TestAsynchQueue_hpp_*/
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchQueue.hpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.cpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.cpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.cpp Wed Jul 5 15:27:34 2006
@@ -1,125 +1,125 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "TestAsynchTopic.hpp"
-
-/*
- *
- */
-TestAsynchTopic::TestAsynchTopic(p<IConnection> connection)
-{
- this->connection = connection ;
- this->error = NULL ;
-}
-
-/*
- *
- */
-TestAsynchTopic::~TestAsynchTopic()
-{
- // no-op
-}
-
-/*
- *
- */
-void TestAsynchTopic::setUp() throw (exception)
-{
- // Create a session
- session = connection->createSession() ;
-}
-
-/*
- *
- */
-void TestAsynchTopic::execute() throw (exception)
-{
- p<ITopic> topic ;
- p<IMessageConsumer> consumer1,
- consumer2 ;
- p<IMessageProducer> producer ;
- p<IMapMessage> message ;
-
- // Connect to a topic
- topic = session->getTopic("TEST.TOPIC") ;
-
- // Create producer and two asynchrounous consumers
- producer = session->createProducer(topic) ;
- consumer1 = session->createConsumer(topic) ;
- consumer1->setMessageListener( smartify(this) ) ;
- consumer2 = session->createConsumer(topic) ;
- consumer2->setMessageListener( smartify(this) ) ;
-
- // Create binary message
- message = session->createMapMessage() ;
- message->setBoolean("key1", false) ;
- message->setInt("key2", 8494845) ;
- message->setString("key3", "Hello Map World!") ;
-
- // Send message
- producer->send(message) ;
-
- // Wait for asynchronous messages for 5s each
- semaphore.wait(5) ;
- semaphore.wait(5) ;
-
- // Check if any error was registered by the message handlers
- if( error != NULL )
- throw TraceException( error ) ;
-}
-
-/*
- *
- */
-void TestAsynchTopic::tearDown() throw (exception)
-{
- // Clean up
- session->close() ;
- session = NULL ;
-}
-
-p<string> TestAsynchTopic::toString()
-{
- p<string> str = new string("Send/receive a map message to 2 topic listener asynchronously") ;
- return str ;
-}
-
-void TestAsynchTopic::onMessage(p<IMessage> message)
-{
- if( message == NULL )
- {
- error = "Received a null message" ;
- semaphore.notify() ;
- return ;
- }
-
- p<IMapMessage> msg = p_dyncast<IMapMessage> (message) ;
- if( msg == NULL )
- {
- error = "Received wrong type of message" ;
- semaphore.notify() ;
- return ;
- }
-
- // Verify message content
- if( msg->getBoolean("key1") != false ||
- msg->getInt("key2") != 8494845 ||
- msg->getString("key3")->compare("Hello Map World!") != 0 )
- {
- error = "Message content has been corrupted" ;
- }
- semaphore.notify() ;
-}
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "TestAsynchTopic.hpp"
+
+/*
+ *
+ */
+TestAsynchTopic::TestAsynchTopic(p<IConnection> connection)
+{
+ this->connection = connection ;
+ this->error = NULL ;
+}
+
+/*
+ *
+ */
+TestAsynchTopic::~TestAsynchTopic()
+{
+ // no-op
+}
+
+/*
+ *
+ */
+void TestAsynchTopic::setUp() throw (exception)
+{
+ // Create a session
+ session = connection->createSession() ;
+}
+
+/*
+ *
+ */
+void TestAsynchTopic::execute() throw (exception)
+{
+ p<ITopic> topic ;
+ p<IMessageConsumer> consumer1,
+ consumer2 ;
+ p<IMessageProducer> producer ;
+ p<IMapMessage> message ;
+
+ // Connect to a topic
+ topic = session->getTopic("TEST.TOPIC") ;
+
+ // Create producer and two asynchrounous consumers
+ producer = session->createProducer(topic) ;
+ consumer1 = session->createConsumer(topic) ;
+ consumer1->setMessageListener( smartify(this) ) ;
+ consumer2 = session->createConsumer(topic) ;
+ consumer2->setMessageListener( smartify(this) ) ;
+
+ // Create binary message
+ message = session->createMapMessage() ;
+ message->setBoolean("key1", false) ;
+ message->setInt("key2", 8494845) ;
+ message->setString("key3", "Hello Map World!") ;
+
+ // Send message
+ producer->send(message) ;
+
+ // Wait for asynchronous messages for 5s each
+ semaphore.wait(5) ;
+ semaphore.wait(5) ;
+
+ // Check if any error was registered by the message handlers
+ if( error != NULL )
+ throw TraceException( error ) ;
+}
+
+/*
+ *
+ */
+void TestAsynchTopic::tearDown() throw (exception)
+{
+ // Clean up
+ session->close() ;
+ session = NULL ;
+}
+
+p<string> TestAsynchTopic::toString()
+{
+ p<string> str = new string("Send/receive a map message to 2 topic listener asynchronously") ;
+ return str ;
+}
+
+void TestAsynchTopic::onMessage(p<IMessage> message)
+{
+ if( message == NULL )
+ {
+ error = "Received a null message" ;
+ semaphore.notify() ;
+ return ;
+ }
+
+ p<IMapMessage> msg = p_dyncast<IMapMessage> (message) ;
+ if( msg == NULL )
+ {
+ error = "Received wrong type of message" ;
+ semaphore.notify() ;
+ return ;
+ }
+
+ // Verify message content
+ if( msg->getBoolean("key1") != false ||
+ msg->getInt("key2") != 8494845 ||
+ msg->getString("key3")->compare("Hello Map World!") != 0 )
+ {
+ error = "Message content has been corrupted" ;
+ }
+ semaphore.notify() ;
+}
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.hpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.hpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.hpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.hpp Wed Jul 5 15:27:34 2006
@@ -1,59 +1,59 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef TestAsynchTopic_hpp_
-#define TestAsynchTopic_hpp_
-
-#include <exception>
-#include <string>
-
-#include "cms/IConnection.hpp"
-#include "ppr/thread/Semaphore.hpp"
-#include "ppr/util/ifr/p"
-
-#include "ppr/TraceException.hpp"
-#include "IUnitTest.hpp"
-
-using namespace apache::cms;
-using namespace apache::ppr;
-using namespace apache::ppr::thread;
-using namespace ifr;
-using namespace std;
-
-/*
- * Tests sending/receiving a message to two asynchronous listeners.
- */
-class TestAsynchTopic : public IUnitTest, public IMessageListener
-{
-private:
- p<IConnection> connection ;
- p<ISession> session ;
- Semaphore semaphore ;
- char* error ;
-
-public:
- TestAsynchTopic(p<IConnection> connection) ;
- virtual ~TestAsynchTopic() ;
-
- virtual void setUp() throw (exception) ;
- virtual void execute() throw (exception) ;
- virtual void tearDown() throw (exception) ;
- virtual p<string> toString() ;
-
- virtual void onMessage(p<IMessage> message) ;
-} ;
-
-#endif /*TestAsynchTopic_hpp_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef TestAsynchTopic_hpp_
+#define TestAsynchTopic_hpp_
+
+#include <exception>
+#include <string>
+
+#include "cms/IConnection.hpp"
+#include "ppr/thread/Semaphore.hpp"
+#include "ppr/util/ifr/p"
+
+#include "ppr/TraceException.hpp"
+#include "IUnitTest.hpp"
+
+using namespace apache::cms;
+using namespace apache::ppr;
+using namespace apache::ppr::thread;
+using namespace ifr;
+using namespace std;
+
+/*
+ * Tests sending/receiving a message to two asynchronous listeners.
+ */
+class TestAsynchTopic : public IUnitTest, public IMessageListener
+{
+private:
+ p<IConnection> connection ;
+ p<ISession> session ;
+ Semaphore semaphore ;
+ char* error ;
+
+public:
+ TestAsynchTopic(p<IConnection> connection) ;
+ virtual ~TestAsynchTopic() ;
+
+ virtual void setUp() throw (exception) ;
+ virtual void execute() throw (exception) ;
+ virtual void tearDown() throw (exception) ;
+ virtual p<string> toString() ;
+
+ virtual void onMessage(p<IMessage> message) ;
+} ;
+
+#endif /*TestAsynchTopic_hpp_*/
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestAsynchTopic.hpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.cpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.cpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.cpp Wed Jul 5 15:27:34 2006
@@ -1,153 +1,153 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "TestLocalTXCommit.hpp"
-
-/*
- *
- */
-TestLocalTXCommit::TestLocalTXCommit(p<IConnection> connection)
-{
- this->connection = connection ;
- this->error = NULL ;
- this->transmitted = false ;
- this->matchCount = 0 ;
-}
-
-/*
- *
- */
-TestLocalTXCommit::~TestLocalTXCommit()
-{
- // no-op
-}
-
-/*
- *
- */
-void TestLocalTXCommit::setUp() throw (exception)
-{
- // Create a session
- session = connection->createSession( TransactionalAckMode ) ;
-}
-
-/*
- *
- */
-void TestLocalTXCommit::execute() throw (exception)
-{
- p<IQueue> queue ;
- p<IMessageConsumer> consumer ;
- p<IMessageProducer> producer ;
- p<ITextMessage> message1, message2;
-
- // Connect to a queue
- queue = session->getQueue("FOO.BAR") ;
-
- // Create producer and a asycnhrounous consumer
- producer = session->createProducer(queue) ;
- consumer = session->createConsumer(queue) ;
- consumer->setMessageListener( smartify(this) ) ;
-
- // Create text messages
- message1 = session->createTextMessage("LocalTX 1") ;
- message2 = session->createTextMessage("LocalTX 2") ;
-
- // Send messages
- producer->send(message1) ;
- producer->send(message2) ;
-
- // Commit transaction
- transmitted = true ;
- session->commit() ;
-
- // Wait for asynchronous receive for 5s
- semaphore.wait(5) ;
-
- // Check if any error was registered by the message handler
- if( error != NULL )
- throw TraceException( error ) ;
-}
-
-/*
- *
- */
-void TestLocalTXCommit::tearDown() throw (exception)
-{
- // Clean up
- session->close() ;
- session = NULL ;
-}
-
-p<string> TestLocalTXCommit::toString()
-{
- p<string> str = new string("Sends multiple messages to a queue guarded by a local transaction") ;
- return str ;
-}
-
-void TestLocalTXCommit::onMessage(p<IMessage> message)
-{
- if( !transmitted )
- {
- error = "Received a message before transaction was committed" ;
- session->rollback() ;
- semaphore.notify() ;
- return ;
- }
-
- if( message == NULL )
- {
- error = "Received a null message" ;
- session->rollback() ;
- semaphore.notify() ;
- return ;
- }
-
- p<ITextMessage> msg = p_dyncast<ITextMessage> (message) ;
- if( msg == NULL )
- {
- error = "Received wrong type of message" ;
- semaphore.notify() ;
- return ;
- }
-
- // Verify message content
- if( msg->getText()->compare("LocalTX 1") != 0 ||
- msg->getText()->compare("LocalTX 2") != 0 )
- {
- matchCount++ ;
- }
- else
- {
- error = "Message content has been corrupted" ;
-
- // Rollback receive
- session->rollback() ;
-
- // Wakeup main thread
- semaphore.notify() ;
- }
-
- // Did we receive both messages?
- if( matchCount == 2 )
- {
- // Commit receive
- session->commit() ;
-
- // Wakeup main thread
- semaphore.notify() ;
- }
-}
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "TestLocalTXCommit.hpp"
+
+/*
+ *
+ */
+TestLocalTXCommit::TestLocalTXCommit(p<IConnection> connection)
+{
+ this->connection = connection ;
+ this->error = NULL ;
+ this->transmitted = false ;
+ this->matchCount = 0 ;
+}
+
+/*
+ *
+ */
+TestLocalTXCommit::~TestLocalTXCommit()
+{
+ // no-op
+}
+
+/*
+ *
+ */
+void TestLocalTXCommit::setUp() throw (exception)
+{
+ // Create a session
+ session = connection->createSession( TransactionalAckMode ) ;
+}
+
+/*
+ *
+ */
+void TestLocalTXCommit::execute() throw (exception)
+{
+ p<IQueue> queue ;
+ p<IMessageConsumer> consumer ;
+ p<IMessageProducer> producer ;
+ p<ITextMessage> message1, message2;
+
+ // Connect to a queue
+ queue = session->getQueue("FOO.BAR") ;
+
+ // Create producer and a asycnhrounous consumer
+ producer = session->createProducer(queue) ;
+ consumer = session->createConsumer(queue) ;
+ consumer->setMessageListener( smartify(this) ) ;
+
+ // Create text messages
+ message1 = session->createTextMessage("LocalTX 1") ;
+ message2 = session->createTextMessage("LocalTX 2") ;
+
+ // Send messages
+ producer->send(message1) ;
+ producer->send(message2) ;
+
+ // Commit transaction
+ transmitted = true ;
+ session->commit() ;
+
+ // Wait for asynchronous receive for 5s
+ semaphore.wait(5) ;
+
+ // Check if any error was registered by the message handler
+ if( error != NULL )
+ throw TraceException( error ) ;
+}
+
+/*
+ *
+ */
+void TestLocalTXCommit::tearDown() throw (exception)
+{
+ // Clean up
+ session->close() ;
+ session = NULL ;
+}
+
+p<string> TestLocalTXCommit::toString()
+{
+ p<string> str = new string("Sends multiple messages to a queue guarded by a local transaction") ;
+ return str ;
+}
+
+void TestLocalTXCommit::onMessage(p<IMessage> message)
+{
+ if( !transmitted )
+ {
+ error = "Received a message before transaction was committed" ;
+ session->rollback() ;
+ semaphore.notify() ;
+ return ;
+ }
+
+ if( message == NULL )
+ {
+ error = "Received a null message" ;
+ session->rollback() ;
+ semaphore.notify() ;
+ return ;
+ }
+
+ p<ITextMessage> msg = p_dyncast<ITextMessage> (message) ;
+ if( msg == NULL )
+ {
+ error = "Received wrong type of message" ;
+ semaphore.notify() ;
+ return ;
+ }
+
+ // Verify message content
+ if( msg->getText()->compare("LocalTX 1") != 0 ||
+ msg->getText()->compare("LocalTX 2") != 0 )
+ {
+ matchCount++ ;
+ }
+ else
+ {
+ error = "Message content has been corrupted" ;
+
+ // Rollback receive
+ session->rollback() ;
+
+ // Wakeup main thread
+ semaphore.notify() ;
+ }
+
+ // Did we receive both messages?
+ if( matchCount == 2 )
+ {
+ // Commit receive
+ session->commit() ;
+
+ // Wakeup main thread
+ semaphore.notify() ;
+ }
+}
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.hpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.hpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.hpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.hpp Wed Jul 5 15:27:34 2006
@@ -1,63 +1,63 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef TestLocalTXCommit_hpp_
-#define TestLocalTXCommit_hpp_
-
-#include <exception>
-#include <string>
-
-#include "cms/IConnection.hpp"
-#include "activemq/AcknowledgementMode.hpp"
-#include "ppr/thread/Semaphore.hpp"
-#include "ppr/TraceException.hpp"
-#include "ppr/util/ifr/p"
-
-#include "IUnitTest.hpp"
-
-using namespace apache;
-using namespace apache::cms;
-using namespace apache::ppr;
-using namespace apache::ppr::thread;
-using namespace ifr;
-using namespace std;
-
-/*
- * Tests sending multiple messages to a queue guarded by a local transaction.
- */
-class TestLocalTXCommit : public IUnitTest, public IMessageListener
-{
-private:
- p<IConnection> connection ;
- p<ISession> session ;
- Semaphore semaphore ;
- char* error ;
- bool transmitted ;
- int matchCount ;
-
-public:
- TestLocalTXCommit(p<IConnection> connection) ;
- virtual ~TestLocalTXCommit() ;
-
- virtual void setUp() throw (exception) ;
- virtual void execute() throw (exception) ;
- virtual void tearDown() throw (exception) ;
- virtual p<string> toString() ;
-
- virtual void onMessage(p<IMessage> message) ;
-} ;
-
-#endif /*TestLocalTXCommit_hpp_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef TestLocalTXCommit_hpp_
+#define TestLocalTXCommit_hpp_
+
+#include <exception>
+#include <string>
+
+#include "cms/IConnection.hpp"
+#include "activemq/AcknowledgementMode.hpp"
+#include "ppr/thread/Semaphore.hpp"
+#include "ppr/TraceException.hpp"
+#include "ppr/util/ifr/p"
+
+#include "IUnitTest.hpp"
+
+using namespace apache;
+using namespace apache::cms;
+using namespace apache::ppr;
+using namespace apache::ppr::thread;
+using namespace ifr;
+using namespace std;
+
+/*
+ * Tests sending multiple messages to a queue guarded by a local transaction.
+ */
+class TestLocalTXCommit : public IUnitTest, public IMessageListener
+{
+private:
+ p<IConnection> connection ;
+ p<ISession> session ;
+ Semaphore semaphore ;
+ char* error ;
+ bool transmitted ;
+ int matchCount ;
+
+public:
+ TestLocalTXCommit(p<IConnection> connection) ;
+ virtual ~TestLocalTXCommit() ;
+
+ virtual void setUp() throw (exception) ;
+ virtual void execute() throw (exception) ;
+ virtual void tearDown() throw (exception) ;
+ virtual p<string> toString() ;
+
+ virtual void onMessage(p<IMessage> message) ;
+} ;
+
+#endif /*TestLocalTXCommit_hpp_*/
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestLocalTXCommit.hpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.cpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.cpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.cpp Wed Jul 5 15:27:34 2006
@@ -1,238 +1,238 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "TestSuite.hpp"
-
-#include "TestSynchQueue.hpp"
-#include "TestAsynchQueue.hpp"
-#include "TestAsynchTopic.hpp"
-#include "TestLocalTXCommit.hpp"
-
-/*
- *
- */
-TestSuite::TestSuite()
-{
- this->name = NULL ;
- this->trace = false ;
- this->connection = NULL ;
-}
-
-/*
- *
- */
-TestSuite::~TestSuite()
-{
- // no-op
-}
-
-/*
- *
- */
-void TestSuite::setURI(const char* uri)
-{
- this->uri = new Uri(uri) ;
-}
-
-/*
- *
- */
-void TestSuite::setSingle(const char* name)
-{
- this->name = name ;
-}
-
-/*
- *
- */
-void TestSuite::setUp() throw (TraceException)
-{
- p<IConnectionFactory> factory ;
-
- cout << "Connecting to ActiveMQ broker..." << endl ;
- factory = new ConnectionFactory( this->uri ) ;
- connection = factory->createConnection() ;
-
- this->unitTests["SynchQueue"] = new TestSynchQueue( connection ) ;
- this->unitTests["AsynchQueue"] = new TestAsynchQueue( connection ) ;
- this->unitTests["AsynchTopic"] = new TestAsynchTopic( connection ) ;
- this->unitTests["LocalTXCommit"] = new TestLocalTXCommit( connection ) ;
-}
-
-/*
- *
- */
-void TestSuite::execute() throw (TraceException)
-{
-
- try
- {
- // Set up test suite
- setUp() ;
- }
- catch( TraceException& e )
- {
- cout << "Failed to set up test suite. " << e.what() << endl ;
- exit(-1) ;
- }
-
- if( name != NULL )
- runSingle( name ) ;
- else
- runAll() ;
-
- try
- {
- // Tear down test suite
- tearDown() ;
- }
- catch( TraceException& e )
- {
- cout << "Failed to tear down test suite. " << e.what() << endl ;
- exit(-1) ;
- }
-}
-
-/*
- *
- */
-void TestSuite::tearDown() throw (TraceException)
-{
- if( connection != NULL )
- connection->close() ;
-}
-
-/*
- *
- */
-p<string> TestSuite::toString()
-{
- p<string> str = new string("ActiveMQ C++ Client Test Suite") ;
- return str ;
-}
-
-/*
- *
- */
-void TestSuite::runSingle(const char* name) throw (TraceException)
-{
- // Find unit test
- map< string, p<IUnitTest> >::iterator tempIter ;
- string key = string(name) ;
-
- try
- {
- // Locate given unit test
- tempIter = unitTests.find(key) ;
- if( tempIter == unitTests.end() )
- {
- cout << "No unit test named [" << name << "] found." << endl ;
- exit(-1) ;
- }
- string info ;
-
- info.assign( tempIter->second->toString()->c_str() ) ;
-
- // Pad with spaces up to 71 chars
- for( int i = (int)info.length() ; i < 71 ; i++ )
- info.append(" ") ;
-
- cout << info.c_str() ;
-
- tempIter->second->setUp() ;
- tempIter->second->execute() ;
- tempIter->second->tearDown() ;
-
- cout << "[ OK ]" << endl ;
- }
- catch( TraceException& e )
- {
- cout << "[FAILED]" << endl ;
- cout << " " << e.what() << endl ;
- }
-}
-
-/*
- *
- */
-void TestSuite::runAll() throw (TraceException)
-{
- map< string, p<IUnitTest> >::iterator tempIter ;
-
- // Loop through and execute all unit tests
- for( tempIter = unitTests.begin() ;
- tempIter != unitTests.end() ;
- tempIter++ )
- {
- string info ;
-
- info.assign( tempIter->second->toString()->c_str() ) ;
-
- // Pad with spaces up to 71 chars
- for( int i = (int)info.length() ; i < 71 ; i++ )
- info.append(" ") ;
-
- cout << info.c_str() ;
-
- try
- {
- tempIter->second->setUp() ;
- tempIter->second->execute() ;
- tempIter->second->tearDown() ;
-
- cout << "[ OK ]" << endl ;
- }
- catch( TraceException& e )
- {
- cout << "[FAILED]" << endl ;
- cout << " " << e.what() << endl ;
- }
- }
-}
-
-/*
- * Main entry point.
- */
-int main(int argc, char *argv[])
-{
- TestSuite suite ;
-
- // Print usage if no arguments was supplied
- if( argc <= 1 )
- {
- cout << "usage: test \"uri\" [name]" << endl ;
- cout << " uri The URI to the ActiveMQ broker, surrounded with quotation marks" << endl ;
- cout << " name The name of a single unit test to execute" << endl ;
- exit(-1) ;
- }
-
- // Check cmdline args for URI
- // Sample URI: "tcp://192.168.64.142:61616?trace=false&protocol=openwire&encoding=none"
- for( int i = 0 ; i < argc ; i++ )
- {
- // Skip program name
- if( i == 0 )
- continue ;
-
- // Assume URI
- if( i == 1 )
- suite.setURI( argv[i] ) ;
- // Assume unit test name
- if( i == 2 )
- suite.setSingle( argv[i] ) ;
- }
- suite.execute() ;
-}
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "TestSuite.hpp"
+
+#include "TestSynchQueue.hpp"
+#include "TestAsynchQueue.hpp"
+#include "TestAsynchTopic.hpp"
+#include "TestLocalTXCommit.hpp"
+
+/*
+ *
+ */
+TestSuite::TestSuite()
+{
+ this->name = NULL ;
+ this->trace = false ;
+ this->connection = NULL ;
+}
+
+/*
+ *
+ */
+TestSuite::~TestSuite()
+{
+ // no-op
+}
+
+/*
+ *
+ */
+void TestSuite::setURI(const char* uri)
+{
+ this->uri = new Uri(uri) ;
+}
+
+/*
+ *
+ */
+void TestSuite::setSingle(const char* name)
+{
+ this->name = name ;
+}
+
+/*
+ *
+ */
+void TestSuite::setUp() throw (TraceException)
+{
+ p<IConnectionFactory> factory ;
+
+ cout << "Connecting to ActiveMQ broker..." << endl ;
+ factory = new ConnectionFactory( this->uri ) ;
+ connection = factory->createConnection() ;
+
+ this->unitTests["SynchQueue"] = new TestSynchQueue( connection ) ;
+ this->unitTests["AsynchQueue"] = new TestAsynchQueue( connection ) ;
+ this->unitTests["AsynchTopic"] = new TestAsynchTopic( connection ) ;
+ this->unitTests["LocalTXCommit"] = new TestLocalTXCommit( connection ) ;
+}
+
+/*
+ *
+ */
+void TestSuite::execute() throw (TraceException)
+{
+
+ try
+ {
+ // Set up test suite
+ setUp() ;
+ }
+ catch( TraceException& e )
+ {
+ cout << "Failed to set up test suite. " << e.what() << endl ;
+ exit(-1) ;
+ }
+
+ if( name != NULL )
+ runSingle( name ) ;
+ else
+ runAll() ;
+
+ try
+ {
+ // Tear down test suite
+ tearDown() ;
+ }
+ catch( TraceException& e )
+ {
+ cout << "Failed to tear down test suite. " << e.what() << endl ;
+ exit(-1) ;
+ }
+}
+
+/*
+ *
+ */
+void TestSuite::tearDown() throw (TraceException)
+{
+ if( connection != NULL )
+ connection->close() ;
+}
+
+/*
+ *
+ */
+p<string> TestSuite::toString()
+{
+ p<string> str = new string("ActiveMQ C++ Client Test Suite") ;
+ return str ;
+}
+
+/*
+ *
+ */
+void TestSuite::runSingle(const char* name) throw (TraceException)
+{
+ // Find unit test
+ map< string, p<IUnitTest> >::iterator tempIter ;
+ string key = string(name) ;
+
+ try
+ {
+ // Locate given unit test
+ tempIter = unitTests.find(key) ;
+ if( tempIter == unitTests.end() )
+ {
+ cout << "No unit test named [" << name << "] found." << endl ;
+ exit(-1) ;
+ }
+ string info ;
+
+ info.assign( tempIter->second->toString()->c_str() ) ;
+
+ // Pad with spaces up to 71 chars
+ for( int i = (int)info.length() ; i < 71 ; i++ )
+ info.append(" ") ;
+
+ cout << info.c_str() ;
+
+ tempIter->second->setUp() ;
+ tempIter->second->execute() ;
+ tempIter->second->tearDown() ;
+
+ cout << "[ OK ]" << endl ;
+ }
+ catch( TraceException& e )
+ {
+ cout << "[FAILED]" << endl ;
+ cout << " " << e.what() << endl ;
+ }
+}
+
+/*
+ *
+ */
+void TestSuite::runAll() throw (TraceException)
+{
+ map< string, p<IUnitTest> >::iterator tempIter ;
+
+ // Loop through and execute all unit tests
+ for( tempIter = unitTests.begin() ;
+ tempIter != unitTests.end() ;
+ tempIter++ )
+ {
+ string info ;
+
+ info.assign( tempIter->second->toString()->c_str() ) ;
+
+ // Pad with spaces up to 71 chars
+ for( int i = (int)info.length() ; i < 71 ; i++ )
+ info.append(" ") ;
+
+ cout << info.c_str() ;
+
+ try
+ {
+ tempIter->second->setUp() ;
+ tempIter->second->execute() ;
+ tempIter->second->tearDown() ;
+
+ cout << "[ OK ]" << endl ;
+ }
+ catch( TraceException& e )
+ {
+ cout << "[FAILED]" << endl ;
+ cout << " " << e.what() << endl ;
+ }
+ }
+}
+
+/*
+ * Main entry point.
+ */
+int main(int argc, char *argv[])
+{
+ TestSuite suite ;
+
+ // Print usage if no arguments was supplied
+ if( argc <= 1 )
+ {
+ cout << "usage: test \"uri\" [name]" << endl ;
+ cout << " uri The URI to the ActiveMQ broker, surrounded with quotation marks" << endl ;
+ cout << " name The name of a single unit test to execute" << endl ;
+ exit(-1) ;
+ }
+
+ // Check cmdline args for URI
+ // Sample URI: "tcp://192.168.64.142:61616?trace=false&protocol=openwire&encoding=none"
+ for( int i = 0 ; i < argc ; i++ )
+ {
+ // Skip program name
+ if( i == 0 )
+ continue ;
+
+ // Assume URI
+ if( i == 1 )
+ suite.setURI( argv[i] ) ;
+ // Assume unit test name
+ if( i == 2 )
+ suite.setSingle( argv[i] ) ;
+ }
+ suite.execute() ;
+}
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.hpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.hpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.hpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.hpp Wed Jul 5 15:27:34 2006
@@ -1,68 +1,68 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef TestSuite_hpp_
-#define TestSuite_hpp_
-
-#include <exception>
-#include <iostream>
-#include <map>
-#include <string>
-
-#include "cms/IConnection.hpp"
-#include "cms/IConnectionFactory.hpp"
-#include "activemq/ConnectionFactory.hpp"
-#include "activemq/Connection.hpp"
-#include "ppr/TraceException.hpp"
-#include "ppr/net/Uri.hpp"
-#include "ppr/util/ifr/p"
-
-#include "IUnitTest.hpp"
-
-using namespace apache::activemq;
-using namespace apache::cms;
-using namespace apache::ppr;
-using namespace apache::ppr::net;
-using namespace ifr;
-using namespace std;
-
-class TestSuite : public IUnitTest
-{
-private:
- p<IConnection> connection ;
- p<Uri> uri ;
- map< string, p<IUnitTest> > unitTests ;
- const char* name ;
- bool trace ;
-
-public:
- TestSuite() ;
- virtual ~TestSuite() ;
-
- virtual void setURI(const char* uri) ;
- virtual void setSingle(const char* name) ;
-
- virtual void setUp() throw (TraceException) ;
- virtual void execute() throw (TraceException) ;
- virtual void tearDown() throw (TraceException) ;
- virtual p<string> toString() ;
-
-protected:
- void runSingle(const char* name) throw (TraceException) ;
- void runAll() throw (TraceException) ;
-} ;
-
-#endif /*TestSuite_hpp_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef TestSuite_hpp_
+#define TestSuite_hpp_
+
+#include <exception>
+#include <iostream>
+#include <map>
+#include <string>
+
+#include "cms/IConnection.hpp"
+#include "cms/IConnectionFactory.hpp"
+#include "activemq/ConnectionFactory.hpp"
+#include "activemq/Connection.hpp"
+#include "ppr/TraceException.hpp"
+#include "ppr/net/Uri.hpp"
+#include "ppr/util/ifr/p"
+
+#include "IUnitTest.hpp"
+
+using namespace apache::activemq;
+using namespace apache::cms;
+using namespace apache::ppr;
+using namespace apache::ppr::net;
+using namespace ifr;
+using namespace std;
+
+class TestSuite : public IUnitTest
+{
+private:
+ p<IConnection> connection ;
+ p<Uri> uri ;
+ map< string, p<IUnitTest> > unitTests ;
+ const char* name ;
+ bool trace ;
+
+public:
+ TestSuite() ;
+ virtual ~TestSuite() ;
+
+ virtual void setURI(const char* uri) ;
+ virtual void setSingle(const char* name) ;
+
+ virtual void setUp() throw (TraceException) ;
+ virtual void execute() throw (TraceException) ;
+ virtual void tearDown() throw (TraceException) ;
+ virtual p<string> toString() ;
+
+protected:
+ void runSingle(const char* name) throw (TraceException) ;
+ void runAll() throw (TraceException) ;
+} ;
+
+#endif /*TestSuite_hpp_*/
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSuite.hpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.cpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.cpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.cpp Wed Jul 5 15:27:34 2006
@@ -1,118 +1,118 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "TestSynchQueue.hpp"
-
-/*
- *
- */
-TestSynchQueue::TestSynchQueue(p<IConnection> connection)
-{
- this->connection = connection ;
-}
-
-/*
- *
- */
-TestSynchQueue::~TestSynchQueue()
-{
- // no-op
-}
-
-/*
- *
- */
-void TestSynchQueue::setUp() throw (exception)
-{
- // Create a session
- session = connection->createSession() ;
-}
-
-/*
- *
- */
-void TestSynchQueue::execute() throw (exception)
-{
- p<IQueue> queue ;
- p<IMessageConsumer> consumer ;
- p<IMessageProducer> producer ;
- p<ITextMessage> reqMessage,
- rspMessage ;
- p<PropertyMap> props ;
- MapItemHolder item ;
-
- // Connect to queue
- queue = session->getQueue("FOO.BAR") ;
-
- // Create a consumer and producer
- consumer = session->createConsumer(queue) ;
- producer = session->createProducer(queue) ;
-
- // Create a message
- reqMessage = session->createTextMessage("Hello World!") ;
- reqMessage->setJMSCorrelationID("abc") ;
- reqMessage->setJMSXGroupID("cheese") ;
- props = reqMessage->getProperties() ;
- (*props)["someHeader"] = MapItemHolder( "James" ) ;
-
- // Send message
- producer->send(reqMessage) ;
-
- // Receive and wait for a message
- rspMessage = p_dyncast<ITextMessage> (consumer->receive()) ;
- if( rspMessage == NULL )
- throw TraceException("Received a null message") ;
- else
- {
- p<string> str ;
-
- props = rspMessage->getProperties() ;
- item = (*props)["someHeader"] ;
-
- // Verify message
- str = rspMessage->getJMSCorrelationID() ;
- if( str == NULL || str->compare("abc") != 0 )
- throw TraceException("Returned message has invalid correlation ID") ;
-
- str = rspMessage->getJMSXGroupID() ;
- if( str == NULL || str->compare("cheese") != 0 )
- throw TraceException("Returned message has invalid group ID") ;
-
- str = rspMessage->getText() ;
- if( str == NULL || str->compare("Hello World!") != 0 )
- throw TraceException("Returned message has altered body text") ;
-
- str = item.getString() ;
- if( str == NULL || str->compare("James") != 0 )
- throw TraceException("Returned message has invalid properties") ;
- }
-}
-
-/*
- *
- */
-void TestSynchQueue::tearDown() throw (exception)
-{
- // Clean up
- session->close() ;
- session = NULL ;
-}
-
-p<string> TestSynchQueue::toString()
-{
- p<string> str = new string("Send/receive a text message to a queue synchronously") ;
- return str ;
-}
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "TestSynchQueue.hpp"
+
+/*
+ *
+ */
+TestSynchQueue::TestSynchQueue(p<IConnection> connection)
+{
+ this->connection = connection ;
+}
+
+/*
+ *
+ */
+TestSynchQueue::~TestSynchQueue()
+{
+ // no-op
+}
+
+/*
+ *
+ */
+void TestSynchQueue::setUp() throw (exception)
+{
+ // Create a session
+ session = connection->createSession() ;
+}
+
+/*
+ *
+ */
+void TestSynchQueue::execute() throw (exception)
+{
+ p<IQueue> queue ;
+ p<IMessageConsumer> consumer ;
+ p<IMessageProducer> producer ;
+ p<ITextMessage> reqMessage,
+ rspMessage ;
+ p<PropertyMap> props ;
+ MapItemHolder item ;
+
+ // Connect to queue
+ queue = session->getQueue("FOO.BAR") ;
+
+ // Create a consumer and producer
+ consumer = session->createConsumer(queue) ;
+ producer = session->createProducer(queue) ;
+
+ // Create a message
+ reqMessage = session->createTextMessage("Hello World!") ;
+ reqMessage->setJMSCorrelationID("abc") ;
+ reqMessage->setJMSXGroupID("cheese") ;
+ props = reqMessage->getProperties() ;
+ (*props)["someHeader"] = MapItemHolder( "James" ) ;
+
+ // Send message
+ producer->send(reqMessage) ;
+
+ // Receive and wait for a message
+ rspMessage = p_dyncast<ITextMessage> (consumer->receive()) ;
+ if( rspMessage == NULL )
+ throw TraceException("Received a null message") ;
+ else
+ {
+ p<string> str ;
+
+ props = rspMessage->getProperties() ;
+ item = (*props)["someHeader"] ;
+
+ // Verify message
+ str = rspMessage->getJMSCorrelationID() ;
+ if( str == NULL || str->compare("abc") != 0 )
+ throw TraceException("Returned message has invalid correlation ID") ;
+
+ str = rspMessage->getJMSXGroupID() ;
+ if( str == NULL || str->compare("cheese") != 0 )
+ throw TraceException("Returned message has invalid group ID") ;
+
+ str = rspMessage->getText() ;
+ if( str == NULL || str->compare("Hello World!") != 0 )
+ throw TraceException("Returned message has altered body text") ;
+
+ str = item.getString() ;
+ if( str == NULL || str->compare("James") != 0 )
+ throw TraceException("Returned message has invalid properties") ;
+ }
+}
+
+/*
+ *
+ */
+void TestSynchQueue::tearDown() throw (exception)
+{
+ // Clean up
+ session->close() ;
+ session = NULL ;
+}
+
+p<string> TestSynchQueue::toString()
+{
+ p<string> str = new string("Send/receive a text message to a queue synchronously") ;
+ return str ;
+}
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.hpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.hpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.hpp (original)
+++ incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.hpp Wed Jul 5 15:27:34 2006
@@ -1,50 +1,50 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef TestSynchQueue_hpp_
-#define TestSynchQueue_hpp_
-
-#include <exception>
-#include <string>
-
-#include "cms/IConnection.hpp"
-#include "ppr/TraceException.hpp"
-#include "ppr/util/ifr/p"
-
-#include "IUnitTest.hpp"
-
-using namespace apache::cms;
-using namespace apache::ppr;
-using namespace ifr;
-using namespace std;
-
-class TestSynchQueue : public IUnitTest
-{
-private:
- p<IConnection> connection ;
- p<ISession> session ;
-
-public:
- TestSynchQueue(p<IConnection> connection) ;
- virtual ~TestSynchQueue() ;
-
- virtual void setUp() throw (exception) ;
- virtual void execute() throw (exception) ;
- virtual void tearDown() throw (exception) ;
- virtual p<string> toString() ;
-} ;
-
-#endif /*TestSynchQueue_hpp_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef TestSynchQueue_hpp_
+#define TestSynchQueue_hpp_
+
+#include <exception>
+#include <string>
+
+#include "cms/IConnection.hpp"
+#include "ppr/TraceException.hpp"
+#include "ppr/util/ifr/p"
+
+#include "IUnitTest.hpp"
+
+using namespace apache::cms;
+using namespace apache::ppr;
+using namespace ifr;
+using namespace std;
+
+class TestSynchQueue : public IUnitTest
+{
+private:
+ p<IConnection> connection ;
+ p<ISession> session ;
+
+public:
+ TestSynchQueue(p<IConnection> connection) ;
+ virtual ~TestSynchQueue() ;
+
+ virtual void setUp() throw (exception) ;
+ virtual void execute() throw (exception) ;
+ virtual void tearDown() throw (exception) ;
+ virtual p<string> toString() ;
+} ;
+
+#endif /*TestSynchQueue_hpp_*/
Propchange: incubator/activemq/trunk/openwire-cpp/src/test/cpp/TestSynchQueue.hpp
------------------------------------------------------------------------------
svn:eol-style = native