// Token: 0x06000017 RID: 23 RVA: 0x000027A4 File Offset: 0x000009A4 public void SetClassificationResults(ICAClassificationResultCollection results) { if (ULS.ShouldTrace(ULSCat.msoulscat_SEARCH_DataLossPrevention, 100)) { ULS.SendTraceTag(4850008U, ULSCat.msoulscat_SEARCH_DataLossPrevention, 100, "FASTClassificationItem.SetClassificationResults :: saving results for [{0}]", new object[] { this.ItemId }); } IUpdateableBucketField updateableBucketField = this.record[this.managedPropertiesPosition] as IUpdateableBucketField; if (updateableBucketField != null) { if (this.persistClassificationData) { updateableBucketField.AddField(this.lastScanPropertyName, StandardFields.GetStandardDateTimeField(new DateTime?(DateTime.UtcNow)), BuiltInTypes.DateTimeType); } ICollection <long?> collection = new List <long?>(); ICollection <long?> collection2 = new List <long?>(); ICollection <string> collection3 = new List <string>(); HashSet <long> hashSet = new HashSet <long>(); if (results != null && results.Count > 0) { this.resultCount = results.Count; for (int i = 0; i < this.resultCount; i++) { ICAClassificationResult icaclassificationResult = results[i + 1]; if (ULS.ShouldTrace(ULSCat.msoulscat_SEARCH_DataLossPrevention, 100)) { ULS.SendTraceTag(4850009U, ULSCat.msoulscat_SEARCH_DataLossPrevention, 100, "FASTClassificationItem.SetClassificationResults :: Results Found :: package={0} ruleId={1}", new object[] { icaclassificationResult.RulePackageID, icaclassificationResult.ID }); } long?resultBase = this.ruleStore.GetResultBase(icaclassificationResult.RulePackageID, icaclassificationResult.ID); if (resultBase == null) { ULS.SendTraceTag(6038295U, ULSCat.msoulscat_SEARCH_DataLossPrevention, 50, "FASTClassificationItem.SetClassificationResults :: Unkwown rule ID in result (should not happen). :: package={0} ruleId={1}", new object[] { icaclassificationResult.RulePackageID, icaclassificationResult.ID }); } else { long value = resultBase.Value; if (!hashSet.Add(value)) { ULS.SendTraceTag(5833436U, ULSCat.msoulscat_SEARCH_DataLossPrevention, 50, "FASTClassificationItem.SetClassificationResults :: Duplicate rule entry is being ignored. Duplicate rule entries should not happen. :: package={0} ruleId={1}", new object[] { icaclassificationResult.RulePackageID, icaclassificationResult.ID }); } else { long value2 = value + (long)((int)icaclassificationResult.GetAttributeValue("BD770258-EA9C-4162-B79C-7AD408EC7CD5")); long value3 = value + (long)((int)icaclassificationResult.GetAttributeValue("AFF85B32-1BA9-4EDE-9286-F08A7EE5A421")); collection.Add(new long?(value2)); collection2.Add(new long?(value3)); collection3.Add(icaclassificationResult.ID); } } } if (this.persistClassificationData && this.resultCount > 0) { if (ULS.ShouldTrace(ULSCat.msoulscat_SEARCH_DataLossPrevention, 100)) { ULS.SendTraceTag(4850010U, ULSCat.msoulscat_SEARCH_DataLossPrevention, 100, "FASTClassificationItem.SetClassificationResults :: Updating managed properties"); } IUpdateableListField <long?> updateableListField = (IUpdateableListField <long?>)StandardFields.ListDescriptor <long?>(BuiltInTypes.Int64Type).CreateField(); updateableListField.Value = collection; updateableBucketField.AddField(this.countPropertyName, updateableListField, BuiltInTypes.ListType(BuiltInTypes.Int64Type)); updateableListField = (IUpdateableListField <long?>)StandardFields.ListDescriptor <long?>(BuiltInTypes.Int64Type).CreateField(); updateableListField.Value = collection2; updateableBucketField.AddField(this.confidencePropertyName, updateableListField, BuiltInTypes.ListType(BuiltInTypes.Int64Type)); IUpdateableListField <string> updateableListField2 = (IUpdateableListField <string>)StandardFields.ListDescriptor <string>(BuiltInTypes.StringType).CreateField(); updateableListField2.Value = collection3; updateableBucketField.AddField(this.typePropertyName, updateableListField2, BuiltInTypes.ListType(BuiltInTypes.StringType)); } } } }
// Token: 0x060000C6 RID: 198 RVA: 0x00005317 File Offset: 0x00003517 protected override void ValidateProperties(OperatorStatus status, IList <Edge> inputEdges) { ValidationUtils.ValidateTypedInputFieldExistence(status, this.SelectPropertiesFieldName, BuiltInTypes.ListType(BuiltInTypes.StringType), inputEdges); ValidationUtils.ValidateTypedInputFieldExistence(status, this.TenantIdFieldName, BuiltInTypes.GuidType, inputEdges); }