private byte[] GetCompressedFileData(ValidationContext validationContext) { try { string text = ClassificationRuleCollectionValidationUtils.ValidateRulePackageContents(validationContext, this.rulePackXDocument); byte[] uncompressedSerializedRulePackageData = null; if (!string.IsNullOrEmpty(text)) { uncompressedSerializedRulePackageData = Encoding.Unicode.GetBytes(text); } return(ClassificationRuleCollectionValidationUtils.PackAndValidateCompressedRulePackage(uncompressedSerializedRulePackageData, validationContext)); } catch (ClassificationRuleCollectionSharingViolationException exception) { this.task.WriteError(exception, ErrorCategory.InvalidOperation, null); } catch (ClassificationRuleCollectionInternalValidationException ex) { this.task.WriteError(ex, (-2147287038 == ex.Error) ? ErrorCategory.ObjectNotFound : ErrorCategory.InvalidResult, null); } catch (ClassificationRuleCollectionTimeoutException exception2) { this.task.WriteError(exception2, ErrorCategory.OperationTimeout, null); } catch (LocalizedException exception3) { this.task.WriteError(exception3, ErrorCategory.InvalidData, null); } return(null); }
protected override IConfigurable PrepareDataObject() { TaskLogger.LogEnter(); TransportRule transportRule; if (this.InstallDefaultCollection && this.existingRulePack != null) { transportRule = this.existingRulePack; } else { transportRule = (TransportRule)base.PrepareDataObject(); transportRule.SetId(ClassificationDefinitionUtils.GetClassificationRuleCollectionContainerId(base.DataSession).GetChildId(this.rulePackageIdentifier)); transportRule.OrganizationId = base.CurrentOrganizationId; } byte[] replicationSignature = null; try { replicationSignature = ClassificationRuleCollectionValidationUtils.PackAndValidateCompressedRulePackage(this.FileData, this.validationContext); } catch (LocalizedException exception) { base.WriteError(exception, ErrorCategory.InvalidData, null); } transportRule.AdminDisplayName = this.defaultName; transportRule.Xml = null; transportRule.ReplicationSignature = replicationSignature; TaskLogger.LogExit(); return(transportRule); }
protected override void StampChangesOn(IConfigurable dataObject) { TaskLogger.LogEnter(); TransportRule transportRule = (TransportRule)dataObject; byte[] replicationSignature = null; try { replicationSignature = ClassificationRuleCollectionValidationUtils.PackAndValidateCompressedRulePackage(this.FileData, this.validationContext); } catch (LocalizedException exception) { base.WriteError(exception, ErrorCategory.InvalidData, null); } transportRule.AdminDisplayName = this.defaultName; transportRule.ReplicationSignature = replicationSignature; base.StampChangesOn(dataObject); TaskLogger.LogEnter(); }