Пример #1
0
        public void BuildCoreValidators()
        {
            if (this.areCoreValidatorsBuilt)
            {
                return;
            }
            Dictionary <TextProcessorType, TextProcessorGrouping> oobProcessorsGroupedByType = TextProcessorUtils.OobProcessorsGroupedByType;
            List <IClassificationRuleCollectionValidator>         collection = new List <IClassificationRuleCollectionValidator>
            {
                new ClassificationRuleCollectionIdentifierValidator(),
                new OperationTypeValidator(),
                new ClassificationRuleCollectionVersionValidator(),
                new NameUniquenessValidator(),
                new DataClassificationIdentifierValidator(),
                new TextProcessorIdAndMatchReferencesValidator(oobProcessorsGroupedByType),
                new ClassificationRuleCollectionLocalizedInfoValidator(),
                new DataClassificationLocalizedInfoValidator(),
                new ComplexityValidator(oobProcessorsGroupedByType, DefaultValidationPipelineBuilder.CreateDataClassificationComplexityValidatorsChain()),
                new RegexProcessorsValidator(),
                new KeywordProcessorsValidator(),
                new FingerprintProcessorsValidator(),
                new ClassificationRuleCollectionRuntimeValidator()
            };

            this.validationPipeline.AddRange(collection);
            this.areCoreValidatorsBuilt = true;
        }
        internal static string ValidateRulePackageContents(ValidationContext context, XDocument rulePackXDocument)
        {
            IValidationPipelineBuilder validationPipelineBuilder = new DefaultValidationPipelineBuilder();

            validationPipelineBuilder.BuildCoreValidators();
            validationPipelineBuilder.BuildSupplementaryValidators();
            IEnumerable <IClassificationRuleCollectionValidator> result = validationPipelineBuilder.Result;

            foreach (IClassificationRuleCollectionValidator classificationRuleCollectionValidator in result)
            {
                classificationRuleCollectionValidator.Validate(context, rulePackXDocument);
            }
            string result2;

            if ((result2 = context.ValidatedRuleCollectionDocument) == null)
            {
                result2 = (context.ValidatedRuleCollectionDocument = XmlProcessingUtils.XDocumentToStringWithDeclaration(rulePackXDocument));
            }
            return(result2);
        }