You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by gb...@apache.org on 2005/03/06 14:49:25 UTC

svn commit: r156310 - in incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1: ./ ConfigurationScope.cs ErrorContext.cs

Author: gbayon
Date: Sun Mar  6 05:49:23 2005
New Revision: 156310

URL: http://svn.apache.org/viewcvs?view=rev&rev=156310
Log:
- Impoved error reporting in DataAccess configation

Added:
    incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/
    incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ConfigurationScope.cs
    incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ErrorContext.cs

Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ConfigurationScope.cs
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ConfigurationScope.cs?view=auto&rev=156310
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ConfigurationScope.cs (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ConfigurationScope.cs Sun Mar  6 05:49:23 2005
@@ -0,0 +1,164 @@
+
+#region Apache Notice
+/*****************************************************************************
+ * $Header: $
+ * $Revision: $
+ * $Date: $
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2004 - Gilles Bayon
+ *  
+ * 
+ * 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.
+ * 
+ ********************************************************************************/
+#endregion
+
+#region Using
+using System;
+using System.Data;
+using System.Collections;
+using System.Collections.Specialized;
+using System.Xml;
+
+using IBatisNet.DataAccess.DaoSessionHandlers;
+using IBatisNet.DataAccess.Configuration;
+#endregion
+
+namespace IBatisNet.DataAccess.Scope
+{
+	/// <summary>
+	/// Description résumée de ConfigurationScope.
+	/// </summary>
+	public class ConfigurationScope
+	{
+		#region Fields
+		
+		private ErrorContext _errorContext = null;
+		private HybridDictionary _providers = new HybridDictionary();
+		private NameValueCollection _properties = new NameValueCollection();
+		private HybridDictionary _daoSectionHandlers = new HybridDictionary();
+		private bool _useConfigFileWatcher = false;
+		private XmlDocument _daoConfigDocument = null;
+		private XmlNode _nodeContext = null;
+		#endregion
+	
+		#region Constructors
+
+		/// <summary>
+		/// Default constructor
+		/// </summary>
+		public ConfigurationScope()
+		{
+			_errorContext = new ErrorContext();
+
+			_providers.Clear();
+			_daoSectionHandlers.Clear();
+
+			_daoSectionHandlers.Add(DomDaoManagerBuilder.DEFAULT_DAOSESSIONHANDLER_NAME, DaoSessionHandlerFactory.GetDaoSessionHandler("ADONET"));
+			_daoSectionHandlers.Add("ADONET", DaoSessionHandlerFactory.GetDaoSessionHandler("ADONET"));
+			_daoSectionHandlers.Add("SqlMap", DaoSessionHandlerFactory.GetDaoSessionHandler("SqlMap"));
+
+		}
+		#endregion 
+
+		#region Properties
+
+		/// <summary>
+		/// The current context node we are analizing
+		/// </summary>
+		public XmlNode NodeContext
+		{
+			set
+			{
+				_nodeContext = value;
+			}
+			get
+			{
+				return _nodeContext;
+			}
+		}
+
+		/// <summary>
+		/// The XML dao config file
+		/// </summary>
+		public XmlDocument DaoConfigDocument
+		{
+			set
+			{
+				_daoConfigDocument = value;
+			}
+			get
+			{
+				return _daoConfigDocument;
+			}
+		}
+
+		/// <summary>
+		/// Tell us if we use Configuration File Watcher
+		/// </summary>
+		public bool UseConfigFileWatcher
+		{
+			set
+			{
+				_useConfigFileWatcher = value;
+			}
+			get
+			{
+				return _useConfigFileWatcher;
+			}
+		}
+
+		/// <summary>
+		///  Get the request's error context
+		/// </summary>
+		public ErrorContext ErrorContext
+		{
+			get
+			{
+				return _errorContext;
+			}
+		}
+
+		/// <summary>
+		///  List of providers
+		/// </summary>
+		public HybridDictionary Providers
+		{
+			get
+			{
+				return _providers;
+			}
+		}
+
+		/// <summary>
+		///  List of global properties
+		/// </summary>
+		public NameValueCollection Properties
+		{
+			get
+			{
+				return _properties;
+			}
+		}
+
+		/// <summary>
+		/// List of Dao Section Handlers
+		/// </summary>
+		public HybridDictionary DaoSectionHandlers
+		{
+			get { return _daoSectionHandlers; }
+		}
+		#endregion 
+	}
+}

Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ErrorContext.cs
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ErrorContext.cs?view=auto&rev=156310
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ErrorContext.cs (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/NewFolder1/ErrorContext.cs Sun Mar  6 05:49:23 2005
@@ -0,0 +1,167 @@
+
+#region Apache Notice
+/*****************************************************************************
+ * $Header: $
+ * $Revision: $
+ * $Date: $
+ * 
+ * iBATIS.NET Data Mapper
+ * Copyright (C) 2004 - Gilles Bayon
+ *  
+ * 
+ * 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.
+ * 
+ ********************************************************************************/
+#endregion
+
+#region Using
+using System;
+using System.Text;
+
+#endregion
+
+namespace IBatisNet.DataAccess.Scope
+{
+	/// <summary>
+	/// An error context to help us create meaningful error messages.
+	/// </summary>
+	public class ErrorContext
+	{
+		#region Fields
+
+		private string _resource;
+		private string _activity;
+		private string _objectId;
+		private string _moreInfo;
+		private Exception _cause;
+		#endregion 
+
+		#region Properties
+
+		/// <summary>
+		/// The resource causing the problem
+		/// </summary>
+		public string Resource
+		{
+			get { return _resource; }
+			set { _resource = value; }
+		}
+
+		/// <summary>
+		/// The activity that was happening when the error happened
+		/// </summary>
+		public string Activity
+		{
+			get { return _activity; }
+			set { _activity = value; }
+		}
+
+		/// <summary>
+		/// The object ID where the problem happened
+		/// </summary>
+		public string ObjectId
+		{
+			get { return _objectId; }
+			set { _objectId = value; }
+		}
+
+		/// <summary>
+		/// More information about the error
+		/// </summary>
+		public string MoreInfo
+		{
+			get { return _moreInfo; }
+			set { _moreInfo = value; }
+		}
+
+		/// <summary>
+		/// The cause of the error
+		/// </summary>
+		public Exception Cause
+		{
+			get { return _cause; }
+			set { _cause = value; }
+		}
+
+		#endregion 
+
+		#region Methods
+
+		/// <summary>
+		/// Clear the error context
+		/// </summary>
+		public void Reset() 
+		{
+			_resource = string.Empty;
+			_activity = string.Empty;;
+			_objectId = string.Empty;;
+			_moreInfo = string.Empty;;
+			_cause = null;
+		}
+
+
+		/// <summary>
+		/// ToString method for ErrorContext
+		/// </summary>
+		/// <returns></returns>
+		public override string ToString() 
+		{
+			StringBuilder message = new StringBuilder();
+
+
+			// activity
+			if (_activity != null) 
+			{
+				message.Append("\n- The error occurred while ");
+				message.Append(_activity);
+				message.Append(".");
+			}			
+
+			// more info
+			if (_moreInfo != null) 
+			{
+				message.Append("\n- ");
+				message.Append(_moreInfo);
+			}
+			
+			// resource
+			if (_resource != null) 
+			{
+				message.Append("\n- The error occurred in ");
+				message.Append(_resource);
+				message.Append(".");
+			}
+
+			// object
+			if (_objectId != null) 
+			{
+				message.Append("  \n- Check the ");
+				message.Append(_objectId);
+				message.Append(".");
+			}
+
+
+			// cause
+			if (_cause != null) 
+			{
+				message.Append("\n- Cause: ");
+				message.Append(_cause.ToString());
+			}
+
+			return message.ToString();
+		}
+
+		#endregion 
+
+	}
+}