activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tab...@apache.org
Subject svn commit: r803530 - /activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs
Date Wed, 12 Aug 2009 14:19:20 GMT
Author: tabish
Date: Wed Aug 12 14:19:20 2009
New Revision: 803530

URL: http://svn.apache.org/viewvc?rev=803530&view=rev
Log:
fix for: https://issues.apache.org/activemq/browse/AMQNET-177

Modified:
    activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs

Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs?rev=803530&r1=803529&r2=803530&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs Wed Aug 12
14:19:20 2009
@@ -20,6 +20,7 @@
 using System;
 using System.IO;
 using System.Xml;
+using System.Reflection;
 using System.Collections;
 using System.Text.RegularExpressions;
 
@@ -103,10 +104,26 @@
 		protected bool CreateNMSFactory(string nameTestURI)
 		{
 			Uri brokerUri = null;
+			string[] paths = GetConfigSearchPaths();
 			object[] factoryParams = null;
 			string connectionConfigFileName = GetConnectionConfigFileName();
+			bool configFound = false;
 
-			Assert.IsTrue(File.Exists(connectionConfigFileName), "Connection configuration file does
not exist.");
+			foreach(string path in paths)
+			{
+				string fullpath = Path.Combine(path, connectionConfigFileName);
+				Tracer.Debug("\tScanning folder: " + path);
+
+				if(File.Exists(fullpath))
+				{
+					Tracer.Debug("\tAssembly found!");
+					connectionConfigFileName = fullpath;
+					configFound = true;
+					break;
+				}
+			}			
+			
+			Assert.IsTrue(configFound, "Connection configuration file does not exist.");
 			XmlDocument configDoc = new XmlDocument();
 
 			configDoc.Load(connectionConfigFileName);
@@ -134,6 +151,31 @@
 			return (null != NMSFactory);
 		}
 
+		private static string[] GetConfigSearchPaths()
+		{
+			ArrayList pathList = new ArrayList();
+
+			// Check the current folder first.
+			pathList.Add("");
+#if !NETCF
+			AppDomain currentDomain = AppDomain.CurrentDomain;
+
+			// Check the folder the assembly is located in.
+			pathList.Add(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
+			if(null != currentDomain.BaseDirectory)
+			{
+				pathList.Add(currentDomain.BaseDirectory);
+			}
+
+			if(null != currentDomain.RelativeSearchPath)
+			{
+				pathList.Add(currentDomain.RelativeSearchPath);
+			}
+#endif
+
+			return (string[]) pathList.ToArray(typeof(string));
+		}
+		
 		/// <summary>
 		/// Get the parameters for the ConnectionFactory from the configuration file.
 		/// </summary>



Mime
View raw message