public IValidator Create(IValidatorInstance validatorInstance)
        {
            LongRunningValidatorSettings settings = (LongRunningValidatorSettings)this._validatorInstances[validatorInstance];

            if (settings == null)
            {
                throw new Exception(string.Format("Long Running Validator Instance not found: {0}", validatorInstance.Name));
            }

            log.Debug("LongRunningValidator: Creating LongRunningValidator ValidatorInstance  Name: {name}  Description: {description}", validatorInstance.Name, validatorInstance.Description);

            return(this._childKernel.Get <LongRunningConfigurableValidator>
                       (new ConstructorArgument(LongRunningConfigurableValidator.LongRunningSettingsConstructorParameterName, settings)));
        }
        protected override void LoadValidatonInstances(List <ConfigSection> configValues)
        {
            if (this._validatorInstances == null)
            {
                this._validatorInstances = new Dictionary <IValidatorInstance, ValidatorSettings>();

                LongRunningValidatorSettings settings = new LongRunningValidatorSettings(configValues);

                var validatorInstance = new ValidatorInstance(this.ValidatorId, this.Name, this.Description);

                var validatorInstances = new List <ValidatorInstance>()
                {
                    validatorInstance
                };

                log.Debug("LongRunningValidator: {count} ValidatorInstances found available.", validatorInstances.Count);

                _validatorInstances.Add(validatorInstance, settings);
            }
        }
 public LongRunningConfigurableValidator(LongRunningValidatorSettings longRunningSettings) :
     base(LongRunningValidatorProxy.LongRunningValidatorId)
 {
     this._settings = Guard.NotNull(longRunningSettings, "settings", log);
 }