private void loadPastActiveIssuesDetails()
        {
            LinkedList <ActiveIssue> past = new LinkedList <ActiveIssue>(pastActiveIssues);
            Thread t = PlvsUtils.createThread(() => loadPastActiveIssuesDetailsWorker(generation, past));

            t.Start();
        }
        private void runGetBuildDetailsThread()
        {
            status.setInfo("Retrieving build details...");
            Thread t = PlvsUtils.createThread(getBuildDetailsRunner);

            t.Start();
        }
        private void addComment(JiraIssue issue)
        {
            SmartJiraServerFacade facade = SmartJiraServerFacade.Instance;
            NewIssueComment       dlg    = new NewIssueComment(issue, facade);

            dlg.ShowDialog();
            if (dlg.DialogResult != DialogResult.OK)
            {
                return;
            }

            Thread addCommentThread =
                PlvsUtils.createThread(delegate {
                try {
                    jiraStatus.setInfo("Adding comment to issue...");
                    facade.addComment(issue, dlg.CommentBody);
                    issue = facade.getIssue(issue.Server, issue.Key);
                    jiraStatus.setInfo("Comment added");
                    UsageCollector.Instance.bumpJiraIssuesOpen();
                    container.safeInvoke(new MethodInvoker(() => JiraIssueListModelImpl.Instance.updateIssue(issue)));
                } catch (Exception ex) {
                    jiraStatus.setError("Adding comment failed", ex);
                }
            });

            addCommentThread.Start();
        }
        private void runGetLogThread()
        {
            status.setInfo("Retrieving build logs...");
            Thread t = PlvsUtils.createThread(getLogRunner);

            t.Start();
        }
Exemplo n.º 5
0
        private void startProjectUpdateThread()
        {
            JiraProject project = (JiraProject)comboProjects.SelectedItem;
            Thread      t       = PlvsUtils.createThread(() => projectUpdateWorker(project));

            t.Start();
        }
        private void buttonOk_Click(object sender, EventArgs e)
        {
            setAllEnabled(false);
            setThrobberVisible(true);

            ICollection <JiraField> updatedFields = mergeFieldsFromEditors();
            Thread t = PlvsUtils.createThread(delegate {
                try {
                    SmartJiraServerFacade.Instance.runIssueActionWithParams(
                        issue, action, updatedFields, textComment.Text.Length > 0 ? textComment.Text : null);
                    var newIssue = SmartJiraServerFacade.Instance.getIssue(issue.Server, issue.Key);
                    UsageCollector.Instance.bumpJiraIssuesOpen();
                    status.setInfo("Action \"" + action.Name + "\" successfully run on issue " + issue.Key);
                    this.safeInvoke(new MethodInvoker(delegate {
                        Close();
                        model.updateIssue(newIssue);
                        if (onFinish != null)
                        {
                            onFinish();
                        }
                    }));
                }
                catch (Exception ex) {
                    this.safeInvoke(new MethodInvoker(() => showErrorAndResumeEditing(ex)));
                }
            });

            t.Start();
        }
        private void initializeFields()
        {
            Thread t = PlvsUtils.createThread(initializeThreadWorker);

            t.Start();
            ShowDialog();
        }
Exemplo n.º 8
0
        private void DropZone_DragDrop(object sender, DragEventArgs e)
        {
            if (!e.Data.GetDataPresent(DataFormats.UnicodeText))
            {
                return;
            }

            string txt = (string)e.Data.GetData(DataFormats.UnicodeText);

            Match m = DROP_REGEX.Match(txt);

            if (m == null)
            {
                return;
            }

            Group @key  = m.Groups[1];
            Group @guid = m.Groups[2];

            if (key == null || guid == null)
            {
                return;
            }

            labelInfo.Text = "Updating issue " + key.Value + "...";

            AllowDrop = false;

            bool add = (e.KeyState & 8) == 8 && (e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy;

            Thread t = PlvsUtils.createThread(() => dropActionWorker(key.Value, guid.Value, add));

            t.Start();
        }
        public FieldEditor(string title, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraIssue issue, string fieldId, Point location)
        {
            PlvsLogger.log("FieldEditor - ctor");

            this.model   = model;
            this.facade  = facade;
            this.issue   = issue;
            this.fieldId = fieldId;

            InitializeComponent();

            buttonOk.Enabled     = false;
            buttonCancel.Enabled = false;

            StartPosition = FormStartPosition.Manual;
            Location      = location;

            Text = title;

            field = new JiraField(fieldId, null);

            Thread t = PlvsUtils.createThread(fillFieldWrap);

            t.Start();
        }
        private void runGetTestsThread()
        {
            status.setInfo("Retrieving build test results...");
            Thread t = PlvsUtils.createThread(getTestsRunner);

            t.Start();
        }
        void pollTimerElapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            lastPollTime = null;
            nextPollTime = null;
            Thread t = PlvsUtils.createThread(() => pollRunner(true));

            t.Start();
        }
Exemplo n.º 12
0
        private void issueContextMenuOpened(object sender, EventArgs e)
        {
            Items.Clear();
            Items.AddRange(items);

            Thread loaderThread = PlvsUtils.createThread(() => addIssueActionItems(++menuOpenGeneration));

            loaderThread.Start();
        }
 private void buttonRunBuildClick(object sender, EventArgs e)
 {
     runOnSelectedNode(delegate(BambooBuild b) {
         string key = BambooBuildUtils.getPlanKey(b);
         status.setInfo("Adding build " + key + " to the build queue...");
         Thread t = PlvsUtils.createThread(() => runBuildWorker(b, key));
         t.Start();
     });
 }
Exemplo n.º 14
0
        public override void onClick(StatusLabel status)
        {
            if (prioritiesLoaded)
            {
                return;
            }
            prioritiesLoaded = true;
            Thread t = PlvsUtils.createThread(() => loadPriorities(Facade, status));

            t.Start();
        }
Exemplo n.º 15
0
        private void createIssue(bool keepDialogOpen)
        {
            saveSelectedValues();
            JiraIssue issue = createIssueTemplate();

            setAllEnabled(false);
            buttonCancel.Enabled = false;
            Thread t = PlvsUtils.createThread(() => createIssueWorker(issue, keepDialogOpen));

            t.Start();
        }
Exemplo n.º 16
0
        public override void onClick(StatusLabel status)
        {
            if (componentsLoaded)
            {
                return;
            }
            componentsLoaded = true;
            Thread t = PlvsUtils.createThread(() => loadComponents(Facade, status));

            t.Start();
        }
Exemplo n.º 17
0
        public override void onClick(StatusLabel status)
        {
            if (versionsLoaded)
            {
                return;
            }
            versionsLoaded = true;
            Thread t = PlvsUtils.createThread(() => loadVersions(Facade, status));

            t.Start();
        }
        public override void onClick(StatusLabel status)
        {
            if (projectsLoaded)
            {
                return;
            }
            projectsLoaded = true;
            Thread t = PlvsUtils.createThread(() => loadProjects(status));

            t.Start();
        }
 private void runBuildWorker(BambooBuild b, string key)
 {
     try {
         Facade.runBuild(b.Server, key);
         status.setInfo("Added build " + key + " to the build queue");
         UsageCollector.Instance.bumpBambooBuildsOpen();
         Thread t = PlvsUtils.createThread(() => pollRunner(true));
         t.Start();
     } catch (Exception ex) {
         status.setError("Failed to add build " + key + " to the build queue", ex);
     }
 }
Exemplo n.º 20
0
        public static void runAction(Control owner, JiraNamedEntity action, JiraIssueListModel model, JiraIssue issue, StatusLabel status, Action onFinish)
        {
            Thread runner = PlvsUtils.createThread(delegate {
                try {
                    status.setInfo("Retrieving fields for action \"" + action.Name + "\"...");
                    List <JiraField> fields = SmartJiraServerFacade.Instance.getFieldsForAction(issue, action.Id);
                    runAction(owner, action, model, issue, fields, status, onFinish);
                } catch (Exception e) {
                    status.setError("Failed to run action " + action.Name + " on issue " + issue.Key, e);
                }
            });

            runner.Start();
        }
        private void tabContents_Selected(object sender, TabControlEventArgs e)
        {
            if (e.TabPage != tabPreview)
            {
                return;
            }
            if (textMarkup.Text.Length == 0)
            {
                webPreview.DocumentText = "";
                return;
            }
            webPreview.DocumentText = PlvsUtils.getThrobberHtml(throbberPath, "Fetching preview...");
            Thread t = PlvsUtils.createThread(() => getMarkup(textMarkup.Text));

            t.Start();
        }
Exemplo n.º 22
0
 public void init()
 {
     lock (this) {
         if (listener == null)
         {
             return;
         }
         if (listenerThread != null)
         {
             return;
         }
         listenerThread = PlvsUtils.createThread(listenerRunner);
         listenerThread.Start();
         ev.WaitOne();
     }
 }
Exemplo n.º 23
0
        private void getServerVersion()
        {
            var t = PlvsUtils.createThread(() => {
                try {
                    var buildNumber = facade.getServerBuildNumber(server);
                    this.safeInvoke(new MethodInvoker(delegate {
                        checkShowBranches.Enabled = RestSession.BUILD_NUMBER_4_0 <= buildNumber;
                        checkMyBranches.Enabled   = RestSession.BUILD_NUMBER_5_0 <= buildNumber;
                    }));
                } catch (Exception e) {
                    this.safeInvoke(new MethodInvoker(() => PlvsUtils.showError("Unable to retrieve server version", e)));
                }
            });

            t.Start();
        }
Exemplo n.º 24
0
        public void showHistoryForBuild(BambooBuild build)
        {
            lastBuild = build;
            updateButtons(false);

            ++generation;
            grid.Rows.Clear();

            if (build == null)
            {
                return;
            }

            Thread t = PlvsUtils.createThread(() => getHistoryWorker(lastBuild, generation));

            t.Start();
        }
Exemplo n.º 25
0
        private void runUpdateWorkerThread(object sender, ElapsedEventArgs e)
        {
            if (!GlobalSettings.AutoupdateEnabled)
            {
                return;
            }
            string url = GlobalSettings.AutoupdateSnapshots ? SNAPSHOT_URL : STABLE_URL;

            if (GlobalSettings.ReportUsage)
            {
                url = UsageCollector.Instance.getUsageReportingUrl(url);
            }

            Exception ex;
            Thread    t = PlvsUtils.createThread(() => runSingleUpdateQuery(url, true, out ex));

            t.Start();
        }
        private void addLogTab(string key, string log)
        {
            TabPage    page = new TabPage(key);
            WebBrowser txt  = new WebBrowser
            {
                WebBrowserShortcutsEnabled     = false,
                IsWebBrowserContextMenuEnabled = false,
                ScriptErrorsSuppressed         = true,
                Dock = DockStyle.Fill
            };

            page.Controls.Add(txt);
            tabLogPanels.TabPages.Add(page);
            txt.DocumentText = getLogHtml(log, false, null);

            Thread t = PlvsUtils.createThread(() => fillLogTab(txt, key, log));

            t.Start();
        }
Exemplo n.º 27
0
        private void executeSearchAndClose()
        {
            string buildKey = textQueryString.Text.Trim().ToUpper();

            if (buildKey.Length == 0)
            {
                return;
            }
            bool isMatch = buildKeyRegex.IsMatch(buildKey);

            if (!isMatch)
            {
                return;
            }

            setAllEnabled(false);
            ICollection <BambooServer> servers = BambooServerModel.Instance.getAllEnabledServers();
            Thread t = PlvsUtils.createThread(() => findBuildWorker(servers, buildKey));

            t.Start();
        }
        private void buttonOk_Click(object sender, EventArgs e)
        {
            if (!editorProvider.FieldValid)
            {
                MessageBox.Show("Invalid value", Constants.ERROR_CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            labelInfo.Text       = "Applying changes...";
            buttonOk.Enabled     = false;
            buttonCancel.Enabled = false;

            Controls.Remove(editorControl);
            Controls.Add(labelInfo);

            List <string> values = editorProvider.getValues();

            field.Values = values;

            Thread t = PlvsUtils.createThread(applyChanges);

            t.Start();
        }
Exemplo n.º 29
0
        private void getPlans()
        {
            gettingPlans = true;
//            buttonCancel.Enabled = false;
            buttonAddOrEdit.Enabled     = false;
            radioUseFavourites.Enabled  = false;
            radioSelectManually.Enabled = false;
            name.Enabled              = false;
            url.Enabled               = false;
            user.Enabled              = false;
            password.Enabled          = false;
            checkEnabled.Enabled      = false;
            checkShared.Enabled       = false;
            checkDontUseProxy.Enabled = false;

            buttonGetBuilds.Enabled      = false;
            buttonTestConnection.Enabled = false;

            Thread t = PlvsUtils.createThread(getPlansWorker);

            t.Start();
        }
Exemplo n.º 30
0
        private void loadActiveIssueDetails()
        {
            JiraServer server = JiraServerModel.Instance.getServer(new Guid(CurrentActiveIssue.ServerGuid));

            if (server == null)
            {
                return;
            }

            JiraIssue issue = JiraIssueListModelImpl.Instance.getIssue(CurrentActiveIssue.Key, server);

            if (issue == null)
            {
                Thread t = PlvsUtils.createThread(() => loadActiveIssueDetailsWorker(generation));
                t.Start();
            }
            else
            {
                CurrentActiveIssue.Summary = issue.Summary;
                setActiveIssueDropdownTextAndImage(server, issue);
            }
        }