示例#1
0
        // Token: 0x06000161 RID: 353 RVA: 0x00009948 File Offset: 0x00007B48
        public InPlaceHoldConfiguration(PolicyDefinitionConfig definition, PolicyRuleConfig rule, RuleParser parser, Trace tracer)
        {
            this.Name     = definition.Name;
            this.Identity = ExMailboxComplianceItemContainer.GetHoldId(definition.Identity);
            this.Enabled  = (definition.Mode == Mode.Enforce);
            this.IsValid  = false;
            PolicyRule rule2 = parser.GetRule(rule.RuleBlob);

            if (rule2 != null)
            {
                this.QueryString = string.Empty;
                string text = KqlHelpers.GenerateHoldKeepQuery(rule2, ExPropertyNameMapping.Mapping);
                if (string.IsNullOrEmpty(text))
                {
                    this.QueryFilter = null;
                }
                else
                {
                    this.QueryFilter = KqlParser.ParseAndBuildQuery(text, KqlParser.ParseOption.DisablePrefixMatch | KqlParser.ParseOption.AllowShortWildcards | KqlParser.ParseOption.EDiscoveryMode, CultureInfo.InvariantCulture, null, null);
                }
                this.IsValid = true;
            }
        }
示例#2
0
        internal override PolicyRule GetPolicyRuleFromRuleBlob()
        {
            RuleParser ruleParser = new RuleParser(new SimplePolicyParserFactory());

            return(ruleParser.GetRule(base.RuleBlob));
        }