コード例 #1
0
 public void Initialize()
 {
     if (configurationService == null)
     {
         configurationService = (ConfigurationService)ContextRegistry.GetContext().GetObject("ConfigurationService");
     }
     SoundPath = configurationService.GetSoundPath(Status);
 }
コード例 #2
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            // designer mode
            if (DesignMode)
                return;

            configurationService = (ConfigurationService)ContextRegistry.GetContext().GetObject("ConfigurationService");
            treatUnstableAsFailedCheckBox.Checked = configurationService.IsTreadUnstableAsFailed();
            enableSoundCheckBox.Checked = configurationService.IsSoundNotificationsEnabled();
            enableSoundCheckBox_CheckedChanged(null, null);
        }
コード例 #3
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            // designer mode (workaround: DesignMode is not chained to child controls)
            if (DesignMode || Process.GetCurrentProcess().ProcessName == "devenv")
                return;

            if (configurationService == null)
            {
                configurationService = (ConfigurationService)ContextRegistry.GetContext().GetObject("ConfigurationService");
            }

            statusLabel.Text = JenkinsTrayResources.ResourceManager.GetString("NotificationSettings_" + Status);
        }
コード例 #4
0
        public ServersSettingsController(ServerListControl serverListControl,
            ProjectListControl projectListControl,
            BarStaticItem statusTextItem, 
            BarEditItem statusProgressItem)
        {
            this.serverListControl = serverListControl;
            this.projectListControl = projectListControl;
            this.statusTextItem = statusTextItem;
            this.statusProgressItem = statusProgressItem;

            configurationService = (ConfigurationService)ContextRegistry.GetContext().GetObject("ConfigurationService");
            jenkinsService = (JenkinsService)ContextRegistry.GetContext().GetObject("JenkinsService");
            serverListControl.ConfigurationService = configurationService;
            projectListControl.ConfigurationService = configurationService;
            projectListControl.JenkinsService = jenkinsService;
        }
コード例 #5
0
        private void SetPath(string path)
        {
            if (configurationService == null)
            {
                configurationService = (ConfigurationService)ContextRegistry.GetContext().GetObject("ConfigurationService");
            }

            configurationService.SetSoundPath(Status, path);
            SoundPath = path;
        }
コード例 #6
0
        private void DoUpdateProjectsInternal()
        {
            IDictionary <Server, ISet <Project> > projectsByServer = ConfigurationService.GetProjects();
            var allWorkItemsGroup     = new List <IWorkItemsGroup>();
            var allFutureBuildDetails = new Dictionary <Project, IWorkItemResult>();

            foreach (KeyValuePair <Server, ISet <Project> > pair in projectsByServer)
            {
                Server         server   = pair.Key;
                ISet <Project> projects = pair.Value;

                IWorkItemsGroup workItemsGroup = threadPool.CreateWorkItemsGroup(THREAD_COUNT_BY_DOMAIN);
                allWorkItemsGroup.Add(workItemsGroup);

                foreach (Project project in projects)
                {
                    WorkItemCallback work = delegate(object state)
                    {
                        AllBuildDetails newBuildDetail = null;
                        try
                        {
                            Project project_ = (Project)state;
                            newBuildDetail = JenkinsService.UpdateProject(project_);
                        }
                        catch (Exception ex)
                        {
                            LoggingHelper.LogError(logger, ex);
                        }
                        return(newBuildDetail);
                    };
                    IWorkItemResult futureRes = workItemsGroup.QueueWorkItem(work, project);
                    allFutureBuildDetails[project] = futureRes;
                }
            }

            foreach (IWorkItemsGroup workItemsGroup in allWorkItemsGroup)
            {
                workItemsGroup.WaitForIdle();
            }

            foreach (ISet <Project> projects in projectsByServer.Values)
            {
                foreach (Project project in projects)
                {
                    IWorkItemResult newStatus;
                    allFutureBuildDetails.TryGetValue(project, out newStatus);
                    AllBuildDetails previousAllBuildDetails = project.AllBuildDetails;
                    if (newStatus != null)
                    {
                        project.AllBuildDetails      = (AllBuildDetails)newStatus.Result;
                        project.Activity.HasNewBuild = false;

                        if (previousAllBuildDetails != null && project.AllBuildDetails != null)
                        {
                            project.PreviousStatus = previousAllBuildDetails.Status;

                            if (previousAllBuildDetails.LastBuild != null && project.AllBuildDetails.LastBuild != null)
                            {
                                //  Has existing LastBuilds
                                if (previousAllBuildDetails.LastBuild.Number != project.AllBuildDetails.LastBuild.Number)
                                {
                                    project.Activity.HasNewBuild = true;
                                }
                            }
                            else if (previousAllBuildDetails.LastBuild == null && project.AllBuildDetails.LastBuild != null)
                            {
                                //  1st new LastBuild is found
                                project.Activity.HasNewBuild = true;
                            }
                        }
                    }
                }
            }

            if (ProjectsUpdated != null)
            {
                ProjectsUpdated();
            }
        }