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);
        }
Example #3
0
        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();
        }