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
+
+ }
+}