private void InitializeConfigElement(ChoBaseConfigurationElement configElement, Type type)
        {
            if (configElement == null)
            {
                return;
            }

            configElement.DefaultConfigSectionHandlerType = ConfigSectionHandlerType;
            configElement.ConfigFilePath = ConfigFilePath;

            ChoStandardConfigurationMetaDataInfo standardConfigurationMetaDataInfo = new ChoStandardConfigurationMetaDataInfo();

            standardConfigurationMetaDataInfo.BindingMode = BindingMode;
            if (ConfigStorageType != null)
            {
                standardConfigurationMetaDataInfo.ConfigStorageType = ConfigStorageType.AssemblyQualifiedName;
            }
            standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo = new ChoConfigurationMetaDataLogInfo();
            standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogCondition       = LogCondition;
            standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogTimeStampFormat = LogTimeStampFormat;
            standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogDirectory       = LogDirectory;
            standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogFileName        = LogFileName.IsNullOrEmpty() ? ChoPath.AddExtension(type.FullName, ChoReservedFileExt.Log) : LogFileName;
            standardConfigurationMetaDataInfo.Defaultable = Defaultable;
            standardConfigurationMetaDataInfo.IgnoreCase  = IgnoreCase;
            standardConfigurationMetaDataInfo.Silent      = Silent;
            configElement.MetaDataInfo = standardConfigurationMetaDataInfo;

            LoadParameters(configElement);
            ChoConfigurationMetaDataManager.SetDefaultMetaDataInfo(configElement);
        }
Example #2
0
        public override bool Equals(ChoBaseConfigurationMetaDataInfo obj)
        {
            if (object.ReferenceEquals(obj, null))
            {
                return(false);
            }

            if (!(obj is ChoStandardConfigurationMetaDataInfo))
            {
                return(false);
            }

            if (!base.Equals(obj))
            {
                return(false);
            }

            ChoStandardConfigurationMetaDataInfo other = obj as ChoStandardConfigurationMetaDataInfo;

            if (other != null)
            {
                if (BindingMode != other.BindingMode)
                {
                    return(false);
                }

                if (Defaultable != other.Defaultable)
                {
                    return(false);
                }

                if (IgnoreCase != other.IgnoreCase)
                {
                    return(false);
                }

                if (Silent != other.Silent)
                {
                    return(false);
                }

                if (Parameters != other.Parameters)
                {
                    return(false);
                }

                if (ConfigFilePath != other.ConfigFilePath)
                {
                    return(false);
                }

                if (!ChoObject.Equals <ChoConfigurationMetaDataLogInfo>(ConfigurationMetaDataLogInfo, other.ConfigurationMetaDataLogInfo))
                {
                    return(false);
                }
            }

            return(true);
        }
Example #3
0
        public override void Merge(ChoBaseConfigurationMetaDataInfo source)
        {
            base.Merge(source);

            ChoStandardConfigurationMetaDataInfo other = source as ChoStandardConfigurationMetaDataInfo;

            if (other != null)
            {
                ConfigurationMetaDataLogInfo = ChoObject.Merge(ConfigurationMetaDataLogInfo, other.ConfigurationMetaDataLogInfo);
            }
        }
Example #4
0
        public override ChoBaseConfigurationMetaDataInfo Clone()
        {
            ChoStandardConfigurationMetaDataInfo info = new ChoStandardConfigurationMetaDataInfo();

            info.ConfigStorageType            = ConfigStorageType;
            info.BindingMode                  = BindingMode;
            info.Defaultable                  = Defaultable;
            info.Silent                       = Silent;
            info.IgnoreCase                   = IgnoreCase;
            info.ConfigurationMetaDataLogInfo = ConfigurationMetaDataLogInfo != null?ConfigurationMetaDataLogInfo.Clone() : null;

            info.Parameters     = Parameters;
            info.ConfigFilePath = ConfigFilePath;

            return(info);
        }
        public override ChoBaseConfigurationElement GetMe(Type type)
        {
            ChoGuard.ArgumentNotNull(type, "Type");

            if (_configurationElement == null)
            {
                lock (SyncRoot)
                {
                    if (_configurationElement == null)
                    {
                        object customConfigurationSectionHandler = Activator.CreateInstance(_configurationSectionHandlerType) as IChoCustomConfigurationSectionHandler;
                        if (customConfigurationSectionHandler == null)
                        {
                            throw new ChoConfigurationConstructionException(String.Format("Missing {0} custom configuration section handler.", _configurationSectionHandlerType.FullName));
                        }
                        if (!(customConfigurationSectionHandler is IChoCustomConfigurationSectionHandler))
                        {
                            throw new ChoConfigurationConstructionException(String.Format("Mismatched {0} custom configuration section handler type specified.", _configurationSectionHandlerType.FullName));
                        }

                        _configurationElement = new ChoCustomConfigurationElement(customConfigurationSectionHandler as IChoCustomConfigurationSectionHandler,
                                                                                  _parameters);
                        _configurationElement.DefaultConfigSectionHandlerType = ConfigSectionHandlerType;
                        _configurationElement.ConfigFilePath = ConfigFilePath;

                        ChoStandardConfigurationMetaDataInfo standardConfigurationMetaDataInfo = new ChoStandardConfigurationMetaDataInfo();
                        standardConfigurationMetaDataInfo.BindingMode = BindingMode;
                        if (ConfigStorageType != null)
                        {
                            standardConfigurationMetaDataInfo.ConfigStorageType = ConfigStorageType.AssemblyQualifiedName;
                        }
                        standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo = new ChoConfigurationMetaDataLogInfo();
                        standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogCondition       = LogCondition;
                        standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogTimeStampFormat = LogTimeStampFormat;
                        standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogDirectory       = LogDirectory;
                        standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogFileName        = LogFileName.IsNullOrEmpty() ? ChoPath.AddExtension(type.FullName, ChoReservedFileExt.Log) : LogFileName;
                        standardConfigurationMetaDataInfo.Defaultable = Defaultable;
                        _configurationElement.MetaDataInfo            = standardConfigurationMetaDataInfo;

                        LoadParameters(_configurationElement);
                    }
                }
            }

            return(_configurationElement);
        }
Example #6
0
        protected override void ApplyConfigMetaData(ChoBaseConfigurationMetaDataInfo configurationMetaDataInfo)
        {
            if (configurationMetaDataInfo == null || !(configurationMetaDataInfo is ChoStandardConfigurationMetaDataInfo))
            {
                return;
            }

            ChoStandardConfigurationMetaDataInfo standardConfigurationMetaDataInfo = configurationMetaDataInfo as ChoStandardConfigurationMetaDataInfo;

            BindingMode = standardConfigurationMetaDataInfo.BindingMode;
            Silent      = standardConfigurationMetaDataInfo.Silent;
            Defaultable = standardConfigurationMetaDataInfo.Defaultable;
            IgnoreCase  = standardConfigurationMetaDataInfo.IgnoreCase;
            if (standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo != null)
            {
                LogCondition       = standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogCondition;
                LogTimeStampFormat = standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogTimeStampFormat;
                LogDirectory       = standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogDirectory;
                LogFileName        = standardConfigurationMetaDataInfo.ConfigurationMetaDataLogInfo.LogFileName;
            }
        }