Beispiel #1
0
        public override void ConfigureProviders()
        {
            RequestStatisticsBase cachedRequestJob      = base.MRSJob.CachedRequestJob;
            PublicFolderRecipient localMailboxRecipient = this.publicFolderConfiguration.GetLocalMailboxRecipient(base.TargetMailboxGuid);

            if (localMailboxRecipient == null)
            {
                throw new RecipientNotFoundPermanentException(base.TargetMailboxGuid);
            }
            List <MRSProxyCapabilities> list = new List <MRSProxyCapabilities>();
            ProxyServerSettings         proxyServerSettings = CommonUtils.MapDatabaseToProxyServer(localMailboxRecipient.Database.ObjectGuid);

            list.Add(MRSProxyCapabilities.PublicFolderMigration);
            IDestinationMailbox destinationMailbox = this.GetDestinationMailbox(localMailboxRecipient.Database.ObjectGuid, proxyServerSettings.ExtraFlags | LocalMailboxFlags.Move, list);

            destinationMailbox.Config(base.MRSJob.GetReservation(localMailboxRecipient.Database.ObjectGuid, ReservationFlags.Write), base.TargetMailboxGuid, base.TargetMailboxGuid, CommonUtils.GetPartitionHint(cachedRequestJob.OrganizationId), localMailboxRecipient.Database.ObjectGuid, MailboxType.DestMailboxIntraOrg, null);
            base.ConfigDestinationMailbox(destinationMailbox);
            ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(this.publicFolderConfiguration.OrganizationId);

            this.orgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(false, ConsistencyMode.PartiallyConsistent, sessionSettings, 170, "ConfigureProviders", "f:\\15.00.1497\\sources\\dev\\mrs\\src\\Service\\PublicFolderMailboxMigrator.cs");
            if (!CommonUtils.IsMultiTenantEnabled() && !base.Flags.HasFlag(MailboxCopierFlags.CrossOrg))
            {
                this.orgRecipientSession.EnforceDefaultScope = false;
                this.orgRecipientSession.UseGlobalCatalog    = true;
            }
            ArgumentValidator.ThrowIfNull("orgRecipientSession", this.orgRecipientSession);
        }
Beispiel #2
0
        public override void ConfigureProviders()
        {
            RequestStatisticsBase cachedRequestJob      = base.MRSJob.CachedRequestJob;
            PublicFolderRecipient localMailboxRecipient = this.publicFolderConfiguration.GetLocalMailboxRecipient(base.TargetMailboxGuid);

            if (localMailboxRecipient == null)
            {
                throw new RecipientNotFoundPermanentException(base.TargetMailboxGuid);
            }
            List <MRSProxyCapabilities> list = new List <MRSProxyCapabilities>();
            ProxyServerSettings         proxyServerSettings = CommonUtils.MapDatabaseToProxyServer(localMailboxRecipient.Database.ObjectGuid);

            list.Add(MRSProxyCapabilities.PublicFolderMigration);
            IDestinationMailbox destinationMailbox = this.GetDestinationMailbox(localMailboxRecipient.Database.ObjectGuid, proxyServerSettings.ExtraFlags | LocalMailboxFlags.Move, list);

            destinationMailbox.Config(base.MRSJob.GetReservation(localMailboxRecipient.Database.ObjectGuid, ReservationFlags.Write), base.TargetMailboxGuid, base.TargetMailboxGuid, CommonUtils.GetPartitionHint(cachedRequestJob.OrganizationId), localMailboxRecipient.Database.ObjectGuid, MailboxType.DestMailboxIntraOrg, null);
            base.ConfigDestinationMailbox(destinationMailbox);
        }