示例#1
0
        public CommentDecorationService(RuntimeSession session, IServiceContainer serviceContainer)
        {
            m_configurationService = serviceContainer.GetService(typeof(ConfigurationService)) as ConfigurationService;
            Debug.Assert(m_configurationService != null);

            m_commentSuffixType   = PlatformCommentSuffixType.Verbose;
            m_customCommentSuffix = string.Empty;

            foreach (CustomSetting setting in m_configurationService.SessionGroup.CustomSettings.CustomSetting)
            {
                if (string.Equals(setting.SettingKey, c_platformCommentSuffixType, StringComparison.OrdinalIgnoreCase))
                {
                    if (string.Equals(setting.SettingValue, PlatformCommentSuffixType.Minimal.ToString(), StringComparison.OrdinalIgnoreCase))
                    {
                        m_commentSuffixType = PlatformCommentSuffixType.Minimal;
                    }
                    continue;
                }

                if (string.Equals(setting.SettingKey, c_useUrlInPlatformCommentSuffix, StringComparison.OrdinalIgnoreCase))
                {
                    if (string.Equals(setting.SettingValue, "true", StringComparison.OrdinalIgnoreCase))
                    {
                        m_useUrlInPlatformCommentSuffix = true;
                    }
                    continue;
                }

                if (string.Equals(setting.SettingKey, c_customCommentSuffix, StringComparison.OrdinalIgnoreCase))
                {
                    m_customCommentSuffix = setting.SettingValue;
                    continue;
                }
            }
        }
        /// <summary>
        /// Constructor of MigrationEngine
        /// </summary>
        /// <param name="session"></param>
        internal MigrationEngine(RuntimeSession session, BM.Configuration configuration, IAddinManagementService addinManagementService)
        {
            m_session                = session;
            m_configuration          = configuration;
            m_addinManagementService = addinManagementService;

            m_pageSize = 50;

            ConstructServiceHierarchy();
        }
示例#3
0
        /// <summary>
        /// Constructor of AnalysisEngine
        /// </summary>
        /// <param name="session"></param>
        internal AnalysisEngine(RuntimeSession session, BM.Configuration configuration, IAddinManagementService addinManagementService)
        {
            m_session                = session;
            m_configuration          = configuration;
            m_addinManagementService = addinManagementService;

            m_stopRequested = false;

            m_pageSize = 50;

            ConstructServiceHierarchy(session);
        }
示例#4
0
        /// <summary>
        /// Create analysis enginer service containers for left and right source systems
        /// and register them with parent session containers.
        /// </summary>
        private void ConstructServiceHierarchy(RuntimeSession session)
        {
            m_serviceContainers = new Dictionary <Guid, ServiceContainer>(m_session.ServiceContainers.Count);
            m_analysisProviders = new Dictionary <Guid, IAnalysisProvider>(m_session.ServiceContainers.Count);
            foreach (KeyValuePair <Guid, ServiceContainer> serviceContainerEntry in m_session.ServiceContainers)
            {
                m_serviceContainers.Add(serviceContainerEntry.Key, new ServiceContainer(serviceContainerEntry.Value));

                // note that service container hierarchy is built and services are registered
                // but the conflict manager still need to be bound to a particular SessionRun
                // That will be taken care of in Stage2 (SyncOrchestrator.InitializePipeline)
                RegisterServices(serviceContainerEntry.Key, session);
            }
        }
示例#5
0
        /// <summary>
        /// Initialize analysis services
        /// </summary>
        private void RegisterServices(Guid sourceId, RuntimeSession session)
        {
            Debug.Assert(m_serviceContainers.ContainsKey(sourceId),
                         string.Format(MigrationToolkitResources.UnknownSourceId, sourceId));

            ChangeActionRegistrationService changeActionRegistrationService = new ChangeActionRegistrationService();

            m_serviceContainers[sourceId].AddService(typeof(ChangeActionRegistrationService), changeActionRegistrationService);

            ContentTypeRegistrationService contentTypeRegistrationService = new ContentTypeRegistrationService();

            m_serviceContainers[sourceId].AddService(typeof(ContentTypeRegistrationService), contentTypeRegistrationService);

            ConflictManager conflictManagementService = new ConflictManager(sourceId);

            conflictManagementService.ScopeId = new Guid(m_session.Configuration.SessionUniqueId);
            m_serviceContainers[sourceId].AddService(typeof(ConflictManager), conflictManagementService);
            conflictManagementService.InitializePhase1(m_serviceContainers[sourceId]);

            RegisterGenericeConflicts(conflictManagementService);
            RegisterSessionSpecificConflicts(conflictManagementService, session.Configuration.SessionType);

            ICommentDecorationService commentDecorationService = new CommentDecorationService(m_session, m_serviceContainers[sourceId]);

            m_serviceContainers[sourceId].AddService(typeof(ICommentDecorationService), commentDecorationService);

            ChangeGroupService changeGroupService = m_serviceContainers[sourceId].GetService(typeof(ChangeGroupService)) as ChangeGroupService;

            if (changeGroupService != null)
            {
                changeGroupService.PreChangeGroupSaved += new EventHandler <ChangeGroupEventArgs>(changeGroupService_PreChangeGroupSaved);
                if (!m_changeGroupServices.ContainsKey(sourceId))
                {
                    m_changeGroupServices.Add(sourceId, changeGroupService);
                }
            }
        }
 public EventService(RuntimeSession session, Guid sourceId)
 {
     m_session  = session;
     m_sourceId = sourceId;
 }
示例#7
0
 internal VCAnalysisEngine(RuntimeSession session)
     : base(session)
 {
 }