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/03/05 09:29:09 UTC

svn commit: r383295 [4/4] - in /incubator/activemq/trunk/openwire-dotnet: src/ src/ActiveMQ/ src/ActiveMQ/Commands/ src/ActiveMQ/OpenWire/ src/ActiveMQ/OpenWire/Commands/ src/ActiveMQ/OpenWire/V1/ src/ActiveMQ/Transport/ src/JMS/ tests/ tests/ActiveMQ/...

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessage.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessage.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessage.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessage.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,169 @@
+/*
+ * 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.
+ */
+using JMS;
+
+
+/// <summary>
+/// Represents a message either to be sent to a message broker or received from a message broker
+/// </summary>
+namespace JMS
+{
+	public interface IMessage
+    {
+        
+        /// <summary>
+        /// If using client acknowledgement mode on the session then this method will acknowledge that the
+        /// message has been processed correctly.
+        /// </summary>
+        void Acknowledge();
+        
+        /// <summary>
+        /// Provides access to the message properties (headers)
+        /// </summary>
+        IPrimitiveMap Properties
+		{
+            get;
+        }
+        
+        /// <summary>
+        /// The correlation ID used to correlate messages from conversations or long running business processes
+        /// </summary>
+        string JMSCorrelationID
+        {
+            get;
+            set;
+        }
+        
+        /// <summary>
+        /// The destination of the message
+        /// </summary>
+        IDestination JMSDestination
+        {
+            get;
+        }
+        
+        /// <summary>
+        /// The time in milliseconds that this message should expire in
+        /// </summary>
+        long JMSExpiration
+        {
+            get;
+            set;
+        }
+        
+        /// <summary>
+        /// The message ID which is set by the provider
+        /// </summary>
+        string JMSMessageId
+        {
+            get;
+        }
+        
+        /// <summary>
+        /// Whether or not this message is persistent
+        /// </summary>
+        bool JMSPersistent
+        {
+            get;
+            set;
+        }
+        
+        /// <summary>
+        /// The Priority on this message
+        /// </summary>
+        byte JMSPriority
+        {
+            get;
+            set;
+        }
+        
+        /// <summary>
+        /// Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully.
+        /// </summary>
+        bool JMSRedelivered
+        {
+            get;
+        }
+        
+        
+        /// <summary>
+        /// The destination that the consumer of this message should send replies to
+        /// </summary>
+        IDestination JMSReplyTo
+        {
+            get;
+            set;
+        }
+        
+        
+        /// <summary>
+        /// The timestamp the broker added to the message
+        /// </summary>
+        long JMSTimestamp
+        {
+            get;
+        }
+        
+        /// <summary>
+        /// The type name of this message
+        /// </summary>
+        string JMSType
+        {
+            get;
+            set;
+        }
+        
+        
+        // JMS Extension headers
+        
+        /// <summary>
+        /// Returns the number of times this message has been redelivered to other consumers without being acknowledged successfully.
+        /// </summary>
+        int JMSXDeliveryCount
+        {
+            get;
+        }
+        
+        
+        /// <summary>
+        /// The Message Group ID used to group messages together to the same consumer for the same group ID value
+        /// </summary>
+        string JMSXGroupID
+        {
+            get;
+            set;
+        }
+        /// <summary>
+        /// The Message Group Sequence counter to indicate the position in a group
+        /// </summary>
+        int JMSXGroupSeq
+        {
+            get;
+            set;
+        }
+        
+        /// <summary>
+        /// Returns the ID of the producers transaction
+        /// </summary>
+        string JMSXProducerTXID
+        {
+            get;
+        }
+        
+    }
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessageConsumer.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessageConsumer.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessageConsumer.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessageConsumer.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+using JMS;
+using System;
+
+
+namespace JMS
+{
+	public delegate void MessageListener(IMessage message);
+}
+
+/// <summary>
+/// A consumer of messages
+/// </summary>
+namespace JMS
+{
+	public interface IMessageConsumer : IDisposable
+    {
+        
+        /// <summary>
+        /// Waits until a message is available and returns it
+        /// </summary>
+        IMessage Receive();
+        
+        /// <summary>
+        /// If a message is available within the timeout duration it is returned otherwise this method returns null
+        /// </summary>
+        IMessage Receive(int timeout);
+        
+        /// <summary>
+        /// If a message is available immediately it is returned otherwise this method returns null
+        /// </summary>
+        IMessage ReceiveNoWait();
+        
+        /// <summary>
+        /// An asynchronous listener which can be used to consume messages asynchronously
+        /// </summary>
+        event MessageListener Listener;
+    }
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessageProducer.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessageProducer.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessageProducer.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/IMessageProducer.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+using JMS;
+using System;
+
+
+/// <summary>
+/// An object capable of sending messages to some destination
+/// </summary>
+namespace JMS
+{
+	public interface IMessageProducer : IDisposable
+	{
+		
+        /// <summary>
+        /// Sends the message to the default destination for this producer
+        /// </summary>
+        void Send(IMessage message);
+		
+        /// <summary>
+        /// Sends the message to the given destination
+        /// </summary>
+        void Send(IDestination destination, IMessage message);
+		
+		bool Persistent
+		{
+			get;
+			set;
+		}
+		
+		long TimeToLive
+		{
+			get;
+			set;
+		}
+		
+		int Priority
+		{
+			get;
+			set;
+		}
+		
+		bool DisableMessageID
+		{
+			get;
+			set;
+		}
+		
+		bool DisableMessageTimestamp
+		{
+			get;
+			set;
+		}
+		
+    }
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/IPrimitiveMap.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/IPrimitiveMap.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/IPrimitiveMap.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/IPrimitiveMap.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ */
+using System.Collections;
+
+
+/// <summary>
+/// Represents a Map of primitive types where the keys are all string instances
+/// and the values are strings or numbers.
+/// </summary>
+namespace JMS
+{
+	public interface IPrimitiveMap
+    {
+        
+        void Clear();
+        
+        bool Contains(object key);
+        
+        void Remove(object key);
+        
+        int Count
+        {
+            get;
+        }
+        
+        ICollection Keys
+        {
+            get;
+        }
+        
+        ICollection Values
+        {
+            get;
+        }
+        
+        object this[string key]
+        {
+            get;
+            set;
+        }
+        
+        string GetString(string key);
+        void SetString(string key, string value);
+        
+        bool GetBool(string key);
+        void SetByte(string key, bool value);
+        
+        byte GetByte(string key);
+        void SetByte(string key, byte value);
+        
+        char GetChar(string key);
+        void SetChar(string key, char value);
+        
+        short GetShort(string key);
+        void SetShort(string key, short value);
+        
+        int GetInt(string key);
+        void SetInt(string key, int value);
+        
+        long GetLong(string key);
+        void SetLong(string key, long value);
+        
+        float GetFloat(string key);
+        void SetFloat(string key, float value);
+        
+        double GetDouble(string key);
+        void SetDouble(string key, double value);
+        
+    }
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/IQueue.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/IQueue.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/IQueue.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/IQueue.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+using JMS;
+using System;
+
+
+/// <summary>
+/// Summary description for IQueue.
+/// </summary>
+namespace JMS
+{
+	public interface IQueue : IDestination
+	{
+		
+		String QueueName
+		{
+			get;
+		}
+	}
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/ISession.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/ISession.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/ISession.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/ISession.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,126 @@
+/*
+ * 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.
+ */
+using JMS;
+using System;
+
+
+/// <summary>
+/// Represents a single unit of work on an IConnection.
+/// So the ISession can be used to perform transactional receive and sends
+/// </summary>
+namespace JMS
+{
+	public interface ISession : IDisposable
+    {
+        
+        /// <summary>
+        /// Creates a producer of messages
+        /// </summary>
+        IMessageProducer CreateProducer();
+        
+        /// <summary>
+        /// Creates a producer of messages on a given destination
+        /// </summary>
+        IMessageProducer CreateProducer(IDestination destination);
+        
+        /// <summary>
+        /// Creates a consumer of messages on a given destination
+        /// </summary>
+        IMessageConsumer CreateConsumer(IDestination destination);
+        
+        /// <summary>
+        /// Creates a consumer of messages on a given destination with a selector
+        /// </summary>
+        IMessageConsumer CreateConsumer(IDestination destination, string selector);
+        
+        /// <summary>
+        /// Creates a named durable consumer of messages on a given destination with a selector
+        /// </summary>
+        IMessageConsumer CreateDurableConsumer(ITopic destination, string name, string selector, bool noLocal);
+		
+        /// <summary>
+        /// Returns the queue for the given name
+        /// </summary>
+        IQueue GetQueue(string name);
+        
+        /// <summary>
+        /// Returns the topic for the given name
+        /// </summary>
+        ITopic GetTopic(string name);
+        
+        
+        /// <summary>
+        /// Creates a temporary queue
+        /// </summary>
+        ITemporaryQueue CreateTemporaryQueue();
+		
+        /// <summary>
+        /// Creates a temporary topic
+        /// </summary>
+        ITemporaryTopic CreateTemporaryTopic();
+		
+        
+        // Factory methods to create messages
+        
+        /// <summary>
+        /// Creates a new message with an empty body
+        /// </summary>
+        IMessage CreateMessage();
+        
+        /// <summary>
+        /// Creates a new text message with an empty body
+        /// </summary>
+        ITextMessage CreateTextMessage();
+        
+        /// <summary>
+        /// Creates a new text message with the given body
+        /// </summary>
+        ITextMessage CreateTextMessage(string text);
+        
+        /// <summary>
+        /// Creates a new Map message which contains primitive key and value pairs
+        /// </summary>
+        IMapMessage CreateMapMessage();
+        
+        /// <summary>
+        /// Creates a new binary message
+        /// </summary>
+        IBytesMessage CreateBytesMessage();
+        
+        /// <summary>
+        /// Creates a new binary message with the given body
+        /// </summary>
+        IBytesMessage CreateBytesMessage(byte[] body);
+		
+		
+        // Transaction methods
+        
+        /// <summary>
+        /// If this is a transactional session then commit all message
+        /// send and acknowledgements for producers and consumers in this session
+        /// </summary>
+        void Commit();
+        
+        /// <summary>
+        /// If this is a transactional session then rollback all message
+        /// send and acknowledgements for producers and consumers in this session
+        /// </summary>
+        void Rollback();
+        
+    }
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/IStartable.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/IStartable.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/IStartable.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/IStartable.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,25 @@
+/*
+ * 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.
+ */
+
+namespace JMS
+{
+	public interface IStartable
+    {
+        void Start();
+    }
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/IStoppable.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/IStoppable.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/IStoppable.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/IStoppable.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+namespace JMS
+{
+	public interface IStoppable
+	{
+		void Stop();
+	}
+}

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/ITemporaryQueue.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/ITemporaryQueue.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/ITemporaryQueue.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/ITemporaryQueue.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+using JMS;
+
+
+/// <summary>
+/// Summary description for ITemporaryQueue.
+/// </summary>
+namespace JMS
+{
+	public interface ITemporaryQueue : IDestination
+	{
+	}
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/ITemporaryTopic.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/ITemporaryTopic.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/ITemporaryTopic.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/ITemporaryTopic.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+using JMS;
+
+
+/// <summary>
+/// Summary description for TemporaryTopic.
+/// </summary>
+namespace JMS
+{
+	public interface ITemporaryTopic : IDestination
+	{
+	}
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/ITextMessage.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/ITextMessage.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/ITextMessage.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/ITextMessage.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+using JMS;
+
+
+/// <summary>
+/// Represents a text based message
+/// </summary>
+namespace JMS
+{
+	public interface ITextMessage : IMessage
+    {
+        
+        string Text
+        {
+            get;
+            set;
+        }
+    }
+}
+

Added: incubator/activemq/trunk/openwire-dotnet/src/JMS/ITopic.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/JMS/ITopic.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/JMS/ITopic.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/src/JMS/ITopic.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+using JMS;
+using System;
+
+
+/// <summary>
+/// Summary description for ITopic.
+/// </summary>
+namespace JMS
+{
+	public interface ITopic : IDestination
+	{
+		
+		String TopicName
+		{
+			get;
+		}
+	}
+}
+

Modified: incubator/activemq/trunk/openwire-dotnet/src/src.csproj
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/src/src.csproj?rev=383295&r1=383294&r2=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/src/src.csproj (original)
+++ incubator/activemq/trunk/openwire-dotnet/src/src.csproj Sun Mar  5 00:28:53 2006
@@ -34,27 +34,63 @@
     <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets"/>
     <ItemGroup>
         <Compile Include="ActiveMQ\BrokerException.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQBytesMessage.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQDestination.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQMapMessage.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQMessage.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQObjectMessage.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQQueue.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQStreamMessage.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQTempDestination.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQTempQueue.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQTempTopic.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQTextMessage.cs"/>
+        <Compile Include="ActiveMQ\Commands\ActiveMQTopic.cs"/>
+        <Compile Include="ActiveMQ\Commands\BaseCommand.cs"/>
+        <Compile Include="ActiveMQ\Commands\BrokerId.cs"/>
+        <Compile Include="ActiveMQ\Commands\BrokerInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\ConnectionError.cs"/>
+        <Compile Include="ActiveMQ\Commands\ConnectionId.cs"/>
+        <Compile Include="ActiveMQ\Commands\ConnectionInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\ConsumerId.cs"/>
+        <Compile Include="ActiveMQ\Commands\ConsumerInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\ControlCommand.cs"/>
+        <Compile Include="ActiveMQ\Commands\DataArrayResponse.cs"/>
+        <Compile Include="ActiveMQ\Commands\DataResponse.cs"/>
+        <Compile Include="ActiveMQ\Commands\DestinationInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\DiscoveryEvent.cs"/>
+        <Compile Include="ActiveMQ\Commands\ExceptionResponse.cs"/>
+        <Compile Include="ActiveMQ\Commands\FlushCommand.cs"/>
+        <Compile Include="ActiveMQ\Commands\IntegerResponse.cs"/>
+        <Compile Include="ActiveMQ\Commands\JournalQueueAck.cs"/>
+        <Compile Include="ActiveMQ\Commands\JournalTopicAck.cs"/>
+        <Compile Include="ActiveMQ\Commands\JournalTrace.cs"/>
+        <Compile Include="ActiveMQ\Commands\JournalTransaction.cs"/>
+        <Compile Include="ActiveMQ\Commands\KeepAliveInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\LocalTransactionId.cs"/>
+        <Compile Include="ActiveMQ\Commands\Message.cs"/>
+        <Compile Include="ActiveMQ\Commands\MessageAck.cs"/>
+        <Compile Include="ActiveMQ\Commands\MessageDispatch.cs"/>
+        <Compile Include="ActiveMQ\Commands\MessageDispatchNotification.cs"/>
+        <Compile Include="ActiveMQ\Commands\MessageId.cs"/>
+        <Compile Include="ActiveMQ\Commands\ProducerId.cs"/>
+        <Compile Include="ActiveMQ\Commands\ProducerInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\RemoveInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\RemoveSubscriptionInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\Response.cs"/>
+        <Compile Include="ActiveMQ\Commands\SessionId.cs"/>
+        <Compile Include="ActiveMQ\Commands\SessionInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\ShutdownInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\SubscriptionInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\TransactionId.cs"/>
+        <Compile Include="ActiveMQ\Commands\TransactionInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\WireFormatInfo.cs"/>
+        <Compile Include="ActiveMQ\Commands\XATransactionId.cs"/>
         <Compile Include="ActiveMQ\Connection.cs"/>
         <Compile Include="ActiveMQ\ConnectionClosedException.cs"/>
         <Compile Include="ActiveMQ\ConnectionFactory.cs"/>
         <Compile Include="ActiveMQ\ConsumerClosedException.cs"/>
         <Compile Include="ActiveMQ\DestinationFilter.cs"/>
-        <Compile Include="ActiveMQ\IBytesMessage.cs"/>
-        <Compile Include="ActiveMQ\IConnection.cs"/>
-        <Compile Include="ActiveMQ\IConnectionFactory.cs"/>
-        <Compile Include="ActiveMQ\IDestination.cs"/>
-        <Compile Include="ActiveMQ\IMapMessage.cs"/>
-        <Compile Include="ActiveMQ\IMessage.cs"/>
-        <Compile Include="ActiveMQ\IMessageConsumer.cs"/>
-        <Compile Include="ActiveMQ\IMessageProducer.cs"/>
-        <Compile Include="ActiveMQ\IPrimitiveMap.cs"/>
-        <Compile Include="ActiveMQ\IQueue.cs"/>
-        <Compile Include="ActiveMQ\ISession.cs"/>
-        <Compile Include="ActiveMQ\IStartable.cs"/>
-        <Compile Include="ActiveMQ\ITemporaryQueue.cs"/>
-        <Compile Include="ActiveMQ\ITemporaryTopic.cs"/>
-        <Compile Include="ActiveMQ\ITextMessage.cs"/>
-        <Compile Include="ActiveMQ\ITopic.cs"/>
         <Compile Include="ActiveMQ\MessageConsumer.cs"/>
         <Compile Include="ActiveMQ\MessageProducer.cs"/>
         <Compile Include="ActiveMQ\OpenWire\AbstractCommand.cs"/>
@@ -62,70 +98,15 @@
         <Compile Include="ActiveMQ\OpenWire\BooleanStream.cs"/>
         <Compile Include="ActiveMQ\OpenWire\BrokerError.cs"/>
         <Compile Include="ActiveMQ\OpenWire\Command.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQBytesMessage.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQDestination.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQMapMessage.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQMessage.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQObjectMessage.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQQueue.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQStreamMessage.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQTempDestination.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQTempQueue.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQTempTopic.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQTextMessage.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ActiveMQTopic.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\BaseCommand.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\BrokerId.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\BrokerInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ConnectionError.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ConnectionId.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ConnectionInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ConsumerId.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ConsumerInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ControlCommand.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\DataArrayResponse.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\DataResponse.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\DestinationInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\DiscoveryEvent.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ExceptionResponse.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\FlushCommand.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\IntegerResponse.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\JournalQueueAck.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\JournalTopicAck.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\JournalTrace.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\JournalTransaction.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\KeepAliveInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\LocalTransactionId.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\Message.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\MessageAck.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\MessageDispatch.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\MessageDispatchNotification.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\MessageId.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ProducerId.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ProducerInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\RemoveInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\RemoveSubscriptionInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\Response.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\SessionId.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\SessionInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\ShutdownInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\SubscriptionInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\TransactionId.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\TransactionInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\WireFormatInfo.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\Commands\XATransactionId.cs"/>
         <Compile Include="ActiveMQ\OpenWire\DataStructure.cs"/>
         <Compile Include="ActiveMQ\OpenWire\DataStructureSupport.cs"/>
         <Compile Include="ActiveMQ\OpenWire\Dispatcher.cs"/>
         <Compile Include="ActiveMQ\OpenWire\FutureResponse.cs"/>
         <Compile Include="ActiveMQ\OpenWire\ISynchronization.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\ITransport.cs"/>
         <Compile Include="ActiveMQ\OpenWire\MarshallAware.cs"/>
         <Compile Include="ActiveMQ\OpenWire\MessagePropertyHelper.cs"/>
         <Compile Include="ActiveMQ\OpenWire\OpenWireFormat.cs"/>
         <Compile Include="ActiveMQ\OpenWire\PrimitiveMap.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\SocketTransport.cs"/>
-        <Compile Include="ActiveMQ\OpenWire\TransactionContext.cs"/>
         <Compile Include="ActiveMQ\OpenWire\V1\ActiveMQBytesMessageMarshaller.cs"/>
         <Compile Include="ActiveMQ\OpenWire\V1\ActiveMQDestinationMarshaller.cs"/>
         <Compile Include="ActiveMQ\OpenWire\V1\ActiveMQMapMessageMarshaller.cs"/>
@@ -182,5 +163,25 @@
         <Compile Include="ActiveMQ\OpenWire\V1\XATransactionIdMarshaller.cs"/>
         <Compile Include="ActiveMQ\OpenWireException.cs"/>
         <Compile Include="ActiveMQ\Session.cs"/>
+        <Compile Include="ActiveMQ\TransactionContext.cs"/>
+        <Compile Include="ActiveMQ\Transport\ITransport.cs"/>
+        <Compile Include="ActiveMQ\Transport\SocketTransport.cs"/>
+        <Compile Include="JMS\IBytesMessage.cs"/>
+        <Compile Include="JMS\IConnection.cs"/>
+        <Compile Include="JMS\IConnectionFactory.cs"/>
+        <Compile Include="JMS\IDestination.cs"/>
+        <Compile Include="JMS\IMapMessage.cs"/>
+        <Compile Include="JMS\IMessage.cs"/>
+        <Compile Include="JMS\IMessageConsumer.cs"/>
+        <Compile Include="JMS\IMessageProducer.cs"/>
+        <Compile Include="JMS\IPrimitiveMap.cs"/>
+        <Compile Include="JMS\IQueue.cs"/>
+        <Compile Include="JMS\ISession.cs"/>
+        <Compile Include="JMS\IStartable.cs"/>
+        <Compile Include="JMS\IStoppable.cs"/>
+        <Compile Include="JMS\ITemporaryQueue.cs"/>
+        <Compile Include="JMS\ITemporaryTopic.cs"/>
+        <Compile Include="JMS\ITextMessage.cs"/>
+        <Compile Include="JMS\ITopic.cs"/>
     </ItemGroup>
 </Project>

Copied: incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/Commands/CommandTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/CommandTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/Commands/CommandTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/Commands/CommandTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/CommandTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/CommandTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/Commands/CommandTest.cs Sun Mar  5 00:28:53 2006
@@ -14,15 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+using ActiveMQ.Commands;
 using NUnit.Framework;
 using System.Collections;
 
-using ActiveMQ.OpenWire;
-using ActiveMQ.OpenWire.Commands;
 
-namespace ActiveMQ
+namespace ActiveMQ.Commands
 {
-    [TestFixture]
+	[TestFixture]
     public class CommandTest
     {
         
@@ -61,3 +60,4 @@
         }
     }
 }
+

Modified: incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/OpenWire/BooleanStreamTest.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/OpenWire/BooleanStreamTest.cs?rev=383295&r1=383294&r2=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/OpenWire/BooleanStreamTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/OpenWire/BooleanStreamTest.cs Sun Mar  5 00:28:53 2006
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+using JMS;
+using NUnit.Framework;
 using System;
 using System.IO;
 
-using NUnit.Framework;
-
 namespace ActiveMQ.OpenWire
 {
     [TestFixture]
-    public class BooleanStreamTest : TestSupport
+    public class BooleanStreamTest
     {
 		protected OpenWireFormat openWireformat;
 		protected int endOfStreamMarker = 0x12345678;

Copied: incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/OpenWire/EndianTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/EndianTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/OpenWire/EndianTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/OpenWire/EndianTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/EndianTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/EndianTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/OpenWire/EndianTest.cs Sun Mar  5 00:28:53 2006
@@ -14,15 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+using ActiveMQ.OpenWire;
 using NUnit.Framework;
 using System;
 
-using ActiveMQ.OpenWire;
-using ActiveMQ.OpenWire.Commands;
 
-namespace ActiveMQ
+namespace ActiveMQ.OpenWire
 {
-    [TestFixture]
+	[TestFixture]
     public class EndianTest
     {
         
@@ -74,5 +73,6 @@
         }
     }
 }
+
 
 

Modified: incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/TestMain.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/TestMain.cs?rev=383295&r1=383294&r2=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/TestMain.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/TestMain.cs Sun Mar  5 00:28:53 2006
@@ -14,11 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+using ActiveMQ.Commands;
+using JMS;
 using System;
-using System.IO;
-
-using ActiveMQ.OpenWire;
-using ActiveMQ.OpenWire.Commands;
 
 namespace ActiveMQ
 {

Copied: incubator/activemq/trunk/openwire-dotnet/tests/JMS/AsyncConsumeTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/AsyncConsumeTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/AsyncConsumeTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/JMS/AsyncConsumeTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/AsyncConsumeTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/AsyncConsumeTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/AsyncConsumeTest.cs Sun Mar  5 00:28:53 2006
@@ -13,54 +13,51 @@
  * 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.
-*/
+ */
+using JMS;
+using NUnit.Framework;
 using System;
-using System.IO;
 using System.Threading;
 
-using NUnit.Framework;
 
-namespace ActiveMQ
+namespace JMS
 {
-    [TestFixture]
-    public class AsyncConsumeTest : TestSupport
+	[TestFixture]
+    public class AsyncConsumeTest : JMSTestSupport
     {
         protected Object semaphore = new Object();
         protected bool received;
         
+		[SetUp]
+        virtual public void SetUp()
+        {
+			base.SetUp();
+        }
+		
+        [TearDown]
+        virtual public void TearDown()
+        {
+			base.TearDown();
+        }
+		
         [Test]
         public void TestAsynchronousConsume()
         {
-            IConnectionFactory factory = new ConnectionFactory("localhost", 61616);
-            Assert.IsTrue(factory != null, "no factory created");
-            
-            using (IConnection connection = factory.CreateConnection())
-            {
-                Assert.IsTrue(connection != null, "no connection created");
-                Console.WriteLine("Connected to ActiveMQ!");
                 
-                ISession session = connection.CreateSession();
-                IDestination destination = CreateDestination(session);
-                Assert.IsTrue(destination != null, "No queue available!");
-                
-                // lets create an async consumer
-                // START SNIPPET: demo
-                IMessageConsumer consumer = session.CreateConsumer(destination);
-                consumer.Listener += new MessageListener(OnMessage);
-                // END SNIPPET: demo
-                
-                
-                // now lets send a message
-                session = connection.CreateSession();
-                IMessageProducer producer = session.CreateProducer(destination);
-                IMessage request = CreateMessage(session);
-                request.JMSCorrelationID = "abc";
-                request.JMSType = "Test";
-                producer.Send(request);
-                
-                
-                WaitForMessageToArrive();
-            }
+			// lets create an async consumer
+			// START SNIPPET: demo
+			IMessageConsumer consumer = session.CreateConsumer(this.Destination);
+			consumer.Listener += new MessageListener(OnMessage);
+			// END SNIPPET: demo
+			
+			// now lets send a message
+			IMessageProducer producer = CreateProducer();
+			IMessage request = CreateMessage();
+			request.JMSCorrelationID = "abc";
+			request.JMSType = "Test";
+			producer.Send(request);
+			
+			WaitForMessageToArrive();
             
         }
         
@@ -81,11 +78,12 @@
             {
                 if (!received)
                 {
-                    Monitor.Wait(semaphore, 10000);
+                    Monitor.Wait(semaphore, receiveTimeout);
                 }
-            }
-            Assert.AreEqual(true, received, "Should have received a message by now!");
+				Assert.AreEqual(true, received, "Should have received a message by now!");
+			}
         }
         
     }
 }
+

Copied: incubator/activemq/trunk/openwire-dotnet/tests/JMS/BadConsumeTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/BadConsumeTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/BadConsumeTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/JMS/BadConsumeTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/BadConsumeTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/BadConsumeTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/BadConsumeTest.cs Sun Mar  5 00:28:53 2006
@@ -13,37 +13,44 @@
  * 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.
-*/
+ */
+using JMS;
 using NUnit.Framework;
 using System;
 
-namespace ActiveMQ
+
+namespace JMS
 {
-    [TestFixture]
-    public class BadConsumeTest : TestSupport
+	[TestFixture]
+    public class BadConsumeTest : JMSTestSupport
     {
+		[SetUp]
+        virtual public void SetUp()
+        {
+			base.SetUp();
+        }
+		
+        [TearDown]
+        virtual public void TearDown()
+        {
+			base.TearDown();
+        }
+		
         [Test]
         public void TestBadConsumeOperationToTestExceptions()
         {
-            IConnectionFactory factory = new ConnectionFactory("localhost", 61616);
-            using (IConnection connection = factory.CreateConnection())
-            {
-                ISession session = connection.CreateSession();
-                
-                try
-                {
-                    IMessageConsumer consumer = session.CreateConsumer(null);
-                    Console.WriteLine("Created consumer: " + consumer);
-                    
-                    Assert.Fail("Should  have thrown an exception!");
-                }
-                catch (BrokerException e)
-                {
-                    Console.WriteLine("Caught expected exception: " + e);
-                    Console.WriteLine("Stack: " + e.StackTrace);
-                    Console.WriteLine("Java Stack: " + e.JavaStackTrace);
-                }
-            }
+			try
+			{
+				IMessageConsumer consumer = session.CreateConsumer(null);
+				Console.WriteLine("Created consumer: " + consumer);
+				Assert.Fail("Should  have thrown an exception!");
+			}
+			catch (Exception e)
+			{
+				Console.WriteLine("Caught expected exception: " + e);
+				Console.WriteLine("Stack: " + e.StackTrace);
+			}
         }
     }
 }
+

Copied: incubator/activemq/trunk/openwire-dotnet/tests/JMS/BytesMessageTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/BytesMessageTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/BytesMessageTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/JMS/BytesMessageTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/BytesMessageTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/BytesMessageTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/BytesMessageTest.cs Sun Mar  5 00:28:53 2006
@@ -13,26 +13,38 @@
  * 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.
-*/
+ */
+using JMS;
+using NUnit.Framework;
 using System;
-using System.IO;
 
-using NUnit.Framework;
 
-namespace ActiveMQ
+namespace JMS
 {
-    [ TestFixture ]
-    public class BytesMessageTest : TestSupport
+	[ TestFixture ]
+    public class BytesMessageTest : JMSTestSupport
     {
         byte[] expected = {1, 2, 3, 4, 5, 6, 7, 8};
-    
+		
+		[SetUp]
+        virtual public void SetUp()
+        {
+			base.SetUp();
+        }
+		
+        [TearDown]
+        virtual public void TearDown()
+        {
+			base.TearDown();
+        }
+		
         [ Test ]
         public override void SendAndSyncReceive()
         {
             base.SendAndSyncReceive();
         }
         
-        protected override IMessage CreateMessage(ISession session)
+        protected override IMessage CreateMessage()
         {
             IBytesMessage request = session.CreateBytesMessage(expected);
             return request;
@@ -52,4 +64,5 @@
         
     }
 }
+
 

Copied: incubator/activemq/trunk/openwire-dotnet/tests/JMS/ConsumerTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/ConsumerTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/ConsumerTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/JMS/ConsumerTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/ConsumerTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/ConsumerTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/ConsumerTest.cs Sun Mar  5 00:28:53 2006
@@ -14,48 +14,49 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-using System;
-using System.IO;
-
+using JMS;
 using NUnit.Framework;
 
-namespace ActiveMQ
+
+namespace JMS
 {
-    [TestFixture]
-    public class ConsumerTest : TestSupport
+	[TestFixture]
+    public class ConsumerTest : JMSTestSupport
     {
-        IConnectionFactory factory;
-        IConnection connection;
-        IDestination destination;
-
-        [SetUp]
-        protected void SetUp()
+		[SetUp]
+        virtual public void SetUp()
         {
-            factory = new ConnectionFactory("localhost", 61616);
-            connection = factory.CreateConnection();
+			base.SetUp();
         }
-
+		
         [TearDown]
-        protected void TearDown()
+        virtual public void TearDown()
         {
-            connection.Dispose();
+			base.TearDown();
         }
-
+		
+		protected override IConnection CreateConnection()
+		{
+			IConnection connection = base.CreateConnection();
+			connection.ClientId = "test";
+			return connection;
+		}
+		
+		protected override IDestination CreateDestination()
+		{
+            return session.GetTopic(CreateDestinationName());
+		}
+		
+		
         [Test]
         [Ignore("Not fully implemented yet.")]
         public void testDurableConsumerSelectorChange()
         {
-
-            // Receive a message with the JMS API
-            connection.ClientId="test";
-            connection.Start();
             
-            ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge);
-            destination = session.GetTopic("foo");
-            IMessageProducer producer = session.CreateProducer(destination);
+            IMessageProducer producer = session.CreateProducer(Destination);
             producer.Persistent = true;
-            IMessageConsumer consumer = session.CreateDurableConsumer((ITopic)destination, "test", "color='red'", false);
-
+            IMessageConsumer consumer = session.CreateDurableConsumer((ITopic)Destination, "test", "color='red'", false);
+			
             // Send the messages
             ITextMessage message = session.CreateTextMessage("1st");
             //message.SetStringProperty("color", "red");
@@ -63,19 +64,19 @@
             
             IMessage m = consumer.Receive(1000);
             Assert.IsNotNull(m);
-            Assert.AreEqual("1st", ((ITextMessage)m).Text );
-
+            Assert.AreEqual("1st", ((ITextMessage)m).Text);
+			
             // Change the subscription.
             consumer.Dispose();
-            consumer = session.CreateDurableConsumer((ITopic)destination, "test", "color='blue'", false);
+            consumer = session.CreateDurableConsumer((ITopic)Destination, "test", "color='blue'", false);
             
             message = session.CreateTextMessage("2nd");
             // message.setStringProperty("color", "red");
             producer.Send(message);
             message = session.CreateTextMessage("3rd");
-             // message.setStringProperty("color", "blue");
+			// message.setStringProperty("color", "blue");
             producer.Send(message);
-
+			
             // Selector should skip the 2nd message.
             m = consumer.Receive(1000);
             Assert.IsNotNull(m);
@@ -83,7 +84,8 @@
             
             Assert.IsNull(consumer.ReceiveNoWait());
         }
-
+		
     }
 }
+
 

Copied: incubator/activemq/trunk/openwire-dotnet/tests/JMS/JMSPropertyTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/JMSPropertyTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/JMSPropertyTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/JMS/JMSPropertyTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/JMSPropertyTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/JMSPropertyTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/JMSPropertyTest.cs Sun Mar  5 00:28:53 2006
@@ -14,15 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+//using ActiveMQ;
+using JMS;
+using NUnit.Framework;
 using System;
-using System.IO;
 
-using NUnit.Framework;
 
-namespace ActiveMQ
+namespace JMS
 {
-    [ TestFixture ]
-    public class JMSPropertyTest : TestSupport
+	[ TestFixture ]
+    public class JMSPropertyTest : JMSTestSupport
     {
         // standard JMS properties
         string expectedText = "Hey this works!";
@@ -43,13 +44,25 @@
         long custom5 = 0x1234567812345678;
         char custom6 = 'J';
         
+		[SetUp]
+        virtual public void SetUp()
+        {
+			base.SetUp();
+        }
+		
+        [TearDown]
+        virtual public void TearDown()
+        {
+			base.TearDown();
+        }
+		
         [ Test ]
         public override void SendAndSyncReceive()
         {
             base.SendAndSyncReceive();
         }
         
-        protected override IMessage CreateMessage(ISession session)
+        protected override IMessage CreateMessage()
         {
             ITextMessage message = session.CreateTextMessage(expectedText);
             replyTo = session.CreateTemporaryQueue();
@@ -121,4 +134,5 @@
         }
     }
 }
+
 

Added: incubator/activemq/trunk/openwire-dotnet/tests/JMS/JMSTestSupport.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/JMSTestSupport.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/JMS/JMSTestSupport.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/JMSTestSupport.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,174 @@
+/*
+ * 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.
+ */
+using JMS;
+using NUnit.Framework;
+using System;
+
+/// <summary>
+/// useful base class for test cases
+/// </summary>
+namespace JMS
+{
+	[ TestFixture ]
+    public abstract class JMSTestSupport
+    {
+        
+		protected IConnectionFactory factory;
+        protected IConnection connection;
+		protected ISession session;
+		private IDestination destination;
+		protected int receiveTimeout = 1000;
+		protected AcknowledgementMode acknowledgementMode = AcknowledgementMode.ClientAcknowledge;
+		
+		[SetUp]
+        virtual public void SetUp()
+        {
+			Connect();
+        }
+		
+        [TearDown]
+        virtual public void TearDown()
+        {
+			Disconnect();
+        }
+		
+		
+		virtual protected void Connect()
+        {
+			Console.WriteLine("Connectting...");
+            factory = CreateConnectionFactory();
+            Assert.IsNotNull(factory, "no factory created");
+            connection = CreateConnection();
+            Assert.IsNotNull(connection, "no connection created");
+			connection.Start();
+			session = connection.CreateSession(acknowledgementMode);
+            Assert.IsNotNull(connection != null, "no session created");
+			Console.WriteLine("Connected.");
+        }
+
+        
+        virtual protected void Disconnect()
+        {
+            if (connection != null)
+            {
+				Console.WriteLine("Disconnectting...");
+                connection.Dispose();
+                connection = null;
+				Console.WriteLine("Disconnectted.");
+            }
+        }
+        
+        virtual protected void Reconnect()
+        {
+            Disconnect();
+            Connect();
+        }
+		
+		protected virtual void Drain()
+		{
+            using (ISession session = connection.CreateSession())
+            {
+				// Tries to consume any messages on the Destination
+				IMessageConsumer consumer = session.CreateConsumer(Destination);
+				
+				// Should only need to wait for first message to arrive due to the way
+				// prefetching works.
+				IMessage msg = consumer.Receive(receiveTimeout);
+				while (msg!= null)
+				{
+					msg = consumer.ReceiveNoWait();
+				}
+			}
+		}
+		
+        public virtual void SendAndSyncReceive()
+        {
+            using (ISession session = connection.CreateSession())
+            {
+				
+				IMessageConsumer consumer = session.CreateConsumer(Destination);
+				IMessageProducer producer = session.CreateProducer(Destination);
+				
+				IMessage request = CreateMessage();
+				producer.Send(request);
+                 
+				IMessage message = consumer.Receive(receiveTimeout);
+                Assert.IsNotNull(message, "No message returned!");
+                AssertValidMessage(message);
+            }
+        }
+
+		protected virtual IConnectionFactory CreateConnectionFactory() {
+			return new ActiveMQ.ConnectionFactory("localhost", 61616);
+		}
+		
+		protected virtual IConnection CreateConnection()
+		{
+			return factory.CreateConnection();
+		}
+		
+		protected virtual IMessageProducer CreateProducer()
+		{
+			IMessageProducer producer = session.CreateProducer(destination);
+			return producer;
+		}
+
+		protected virtual IMessageConsumer CreateConsumer()
+		{
+			IMessageConsumer consumer = session.CreateConsumer(destination);
+			return consumer;
+		}
+        
+        protected virtual IDestination CreateDestination()
+        {
+            return session.GetQueue(CreateDestinationName());
+        }
+		
+        protected virtual string CreateDestinationName()
+        {
+            return "Test.DotNet." + GetType().Name;
+        }
+        
+        protected virtual IMessage CreateMessage()
+        {
+            return session.CreateMessage();
+        }
+        
+        protected virtual  void AssertValidMessage(IMessage message)
+        {
+            Assert.IsNotNull(message, "Null Message!");
+        }
+		
+		
+        public IDestination Destination
+        {
+            get {
+				if( destination == null ) {
+					destination = CreateDestination();
+					Assert.IsNotNull(destination, "No destination available!");
+					Console.WriteLine("Using destination: " + destination);
+				}
+				return destination;
+			}
+            set {
+				destination = value;
+            }
+        }
+		
+    }
+}
+

Copied: incubator/activemq/trunk/openwire-dotnet/tests/JMS/MapMessageTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/MapMessageTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/MapMessageTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/JMS/MapMessageTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/MapMessageTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/MapMessageTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/MapMessageTest.cs Sun Mar  5 00:28:53 2006
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+using JMS;
+using NUnit.Framework;
 using System;
-using System.IO;
 
-using NUnit.Framework;
 
-namespace ActiveMQ
+namespace JMS
 {
-    [ TestFixture ]
-    public class MapMessageTest : TestSupport
+	[ TestFixture ]
+    public class MapMessageTest : JMSTestSupport
     {
         bool a = true;
         byte b = 123;
@@ -32,13 +32,25 @@
         long f = 0x1234567812345678;
         string g = "Hello World!";
         
+		[SetUp]
+        virtual public void SetUp()
+        {
+			base.SetUp();
+        }
+		
+        [TearDown]
+        virtual public void TearDown()
+        {
+			base.TearDown();
+        }
+		
         [ Test ]
         public override void SendAndSyncReceive()
         {
             base.SendAndSyncReceive();
         }
-        
-        protected override IMessage CreateMessage(ISession session)
+		
+        protected override IMessage CreateMessage()
         {
             IMapMessage message = session.CreateMapMessage();
             
@@ -60,7 +72,7 @@
             
             Console.WriteLine("Received MapMessage: " + message);
             Console.WriteLine("Received Count: " + mapMessage.Body.Count);
-
+			
             Assert.AreEqual(ToHex(f), ToHex(mapMessage.Body.GetLong("f")), "map entry: f as hex");
             
             // use generic API to access entries
@@ -90,3 +102,4 @@
         }
     }
 }
+

Added: incubator/activemq/trunk/openwire-dotnet/tests/JMS/TextMessage.cs
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/TextMessage.cs?rev=383295&view=auto
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/JMS/TextMessage.cs (added)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/TextMessage.cs Sun Mar  5 00:28:53 2006
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+using JMS;
+using NUnit.Framework;
+using System;
+
+
+namespace JMS
+{
+	[ TestFixture ]
+    public class TextMessage : JMSTestSupport
+    {
+        string expected = "Hello World!";
+        
+		[SetUp]
+        virtual public void SetUp()
+        {
+			base.SetUp();
+        }
+		
+        [TearDown]
+        virtual public void TearDown()
+        {
+			base.TearDown();
+        }
+		
+        [ Test ]
+        public override void SendAndSyncReceive()
+        {
+            base.SendAndSyncReceive();
+        }
+        
+        protected override IMessage CreateMessage()
+        {
+            IMessage request = session.CreateTextMessage(expected);
+            return request;
+        }
+        
+        protected override void AssertValidMessage(IMessage message)
+        {
+            ITextMessage textMessage = (ITextMessage) message;
+            String text = textMessage.Text;
+            Console.WriteLine("Received message with text: " + text);
+            Assert.AreEqual(expected, text, "the message text");
+        }
+        
+    }
+}
+
+

Copied: incubator/activemq/trunk/openwire-dotnet/tests/JMS/TransactionTest.cs (from r383283, incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/TransactionTest.cs)
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/JMS/TransactionTest.cs?p2=incubator/activemq/trunk/openwire-dotnet/tests/JMS/TransactionTest.cs&p1=incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/TransactionTest.cs&r1=383283&r2=383295&rev=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/ActiveMQ/TransactionTest.cs (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/JMS/TransactionTest.cs Sun Mar  5 00:28:53 2006
@@ -14,45 +14,36 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-using System;
-using System.IO;
-
+using JMS;
 using NUnit.Framework;
+using System;
 using System.Collections;
 
-namespace ActiveMQ
+namespace JMS
 {
-    [TestFixture]
-    public class TransactionTest : TestSupport
+	[TestFixture]
+    public class TransactionTest : JMSTestSupport
     {
         private static int destinationCounter;
         
-        IDestination destination;
-        IConnection connection;
-        ISession session;
         IMessageProducer producer;
         IMessageConsumer consumer;
         
         [SetUp]
-        public void SetUp()
+        public override void SetUp()
         {
-            Connect();
-            
-            // lets consume any outstanding messages from previous test runs
-            while (consumer.Receive(1000) != null)
-            {
-            }
-            session.Commit();
+			acknowledgementMode = AcknowledgementMode.Transactional;
+            base.SetUp();
+            Drain();
         }
-        
-        
-        
+		
         [TearDown]
-        public void TearDown()
+        virtual public void TearDown()
         {
-            Disconnect();
+			base.TearDown();
         }
-        
+		
+                
         [Test]
         public void TestSendRollback()
         {
@@ -248,40 +239,13 @@
             Assert.AreEqual(expectedText, actualText, message);
         }
         
-        protected void Connect()
-        {
-            IConnectionFactory factory = new ConnectionFactory("localhost", 61616);
-            
-            connection = factory.CreateConnection();
-            
-            session = connection.CreateSession(AcknowledgementMode.Transactional);
-            
-            // reuse the same destination if we reconnect
-            if (destination == null)
-            {
-                destination = CreateDestination(session);
-            }
-            
-            consumer = session.CreateConsumer(destination);
-            
-            producer = session.CreateProducer(destination);
-        }
-        
-        
-        protected void Disconnect()
+        protected override void Connect()
         {
-            if (connection != null)
-            {
-                connection.Dispose();
-                connection = null;
-            }
-        }
-        
-        protected void Reconnect()
-        {
-            Disconnect();
-            Connect();
+			base.Connect();
+            consumer = session.CreateConsumer(Destination);
+            producer = session.CreateProducer(Destination);
         }
         
     }
 }
+

Modified: incubator/activemq/trunk/openwire-dotnet/tests/tests.csproj
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/openwire-dotnet/tests/tests.csproj?rev=383295&r1=383294&r2=383295&view=diff
==============================================================================
--- incubator/activemq/trunk/openwire-dotnet/tests/tests.csproj (original)
+++ incubator/activemq/trunk/openwire-dotnet/tests/tests.csproj Sun Mar  5 00:28:53 2006
@@ -41,18 +41,18 @@
         </ProjectReference>
     </ItemGroup>
     <ItemGroup>
-        <Compile Include="ActiveMQ\AsyncConsumeTest.cs"/>
-        <Compile Include="ActiveMQ\BadConsumeTest.cs"/>
-        <Compile Include="ActiveMQ\BytesMessageTest.cs"/>
-        <Compile Include="ActiveMQ\ClientTest.cs"/>
-        <Compile Include="ActiveMQ\CommandTest.cs"/>
-        <Compile Include="ActiveMQ\ConsumerTest.cs"/>
-        <Compile Include="ActiveMQ\EndianTest.cs"/>
-        <Compile Include="ActiveMQ\JMSPropertyTest.cs"/>
-        <Compile Include="ActiveMQ\MapMessageTest.cs"/>
+        <Compile Include="ActiveMQ\Commands\CommandTest.cs"/>
         <Compile Include="ActiveMQ\OpenWire\BooleanStreamTest.cs"/>
+        <Compile Include="ActiveMQ\OpenWire\EndianTest.cs"/>
         <Compile Include="ActiveMQ\TestMain.cs"/>
-        <Compile Include="ActiveMQ\TestSupport.cs"/>
-        <Compile Include="ActiveMQ\TransactionTest.cs"/>
+        <Compile Include="JMS\AsyncConsumeTest.cs"/>
+        <Compile Include="JMS\BadConsumeTest.cs"/>
+        <Compile Include="JMS\BytesMessageTest.cs"/>
+        <Compile Include="JMS\ConsumerTest.cs"/>
+        <Compile Include="JMS\JMSPropertyTest.cs"/>
+        <Compile Include="JMS\JMSTestSupport.cs"/>
+        <Compile Include="JMS\MapMessageTest.cs"/>
+        <Compile Include="JMS\TextMessage.cs"/>
+        <Compile Include="JMS\TransactionTest.cs"/>
     </ItemGroup>
 </Project>