Пример #1
0
 internal static DataClassificationPresentationObject Create(string ruleIdentifier, XElement ruleElement, XElement resourceElement, ClassificationRuleCollectionPresentationObject rulePackPresentationObject)
 {
     ArgumentValidator.ThrowIfNullOrEmpty("ruleIdentifier", ruleIdentifier);
     ArgumentValidator.ThrowIfNull("ruleElement", ruleElement);
     ArgumentValidator.ThrowIfNull("resourceElement", resourceElement);
     return(DataClassificationPresentationObject.Create(ruleIdentifier, XmlProcessingUtils.ReadDefaultRuleMetadata(resourceElement), ruleElement, resourceElement, rulePackPresentationObject));
 }
        protected override void WriteResult(IConfigurable dataObject)
        {
            TaskLogger.LogEnter();
            TransportRule transportRule = dataObject as TransportRule;

            if (transportRule != null)
            {
                XDocument ruleCollectionDocumentFromTransportRule = ClassificationDefinitionUtils.GetRuleCollectionDocumentFromTransportRule(transportRule);
                if (ruleCollectionDocumentFromTransportRule != null)
                {
                    string[] ruleIdQueries = new string[]
                    {
                        ((DataClassificationObjectId)this.implementation.DataClassificationPresentationObject.Identity).Name
                    };
                    List <QueryMatchResult> list = XmlProcessingUtils.GetMatchingRulesById(ruleCollectionDocumentFromTransportRule, ruleIdQueries).ToList <QueryMatchResult>();
                    if (list.Count > 0)
                    {
                        ClassificationRuleCollectionPresentationObject rulePackPresentationObject = ClassificationRuleCollectionPresentationObject.Create(transportRule);
                        DataClassificationPresentationObject           result = DataClassificationPresentationObject.Create(list[0].MatchingRuleId, list[0].MatchingRuleXElement, list[0].MatchingResourceXElement, rulePackPresentationObject);
                        this.WriteResult(result);
                    }
                }
            }
            else
            {
                base.WriteResult(dataObject);
            }
            TaskLogger.LogExit();
        }
Пример #3
0
        private static List <DataClassificationPresentationObject> CreateDataClassificationPresentationObjects(TransportRule transportRuleObject, XDocument rulePackXDoc)
        {
            ClassificationRuleCollectionPresentationObject rulePackPresentationObject = ClassificationRuleCollectionPresentationObject.Create(transportRuleObject, rulePackXDoc);
            IEnumerable <QueryMatchResult> matchingRulesById = XmlProcessingUtils.GetMatchingRulesById(rulePackXDoc, null);

            return((from rawDataClassificationResult in matchingRulesById
                    select DataClassificationPresentationObject.Create(rawDataClassificationResult.MatchingRuleId, rawDataClassificationResult.MatchingRuleXElement, rawDataClassificationResult.MatchingResourceXElement, rulePackPresentationObject)).ToList <DataClassificationPresentationObject>());
        }
Пример #4
0
 private static bool CreateDataClassificationPresentationObject(DlpUtils.DataClassificationQueryContext operationContext, string ruleIdentifier, XElement ruleElement, XElement resourceElement, ClassificationRuleCollectionPresentationObject ruleCollectionPresentationObject, out DataClassificationPresentationObject dataClassificationPresentationObject)
 {
     return(DlpUtils.TryExecuteOperation <XmlException, object, object, DataClassificationPresentationObject>(operationContext, (object unusedStub1, object unusedStub2) => DataClassificationPresentationObject.Create(ruleIdentifier, ruleElement, resourceElement, ruleCollectionPresentationObject), null, null, out dataClassificationPresentationObject));
 }