Example usage for com.intellij.openapi.ui Messages showErrorDialog

List of usage examples for com.intellij.openapi.ui Messages showErrorDialog

Introduction

In this page you can find the example usage for com.intellij.openapi.ui Messages showErrorDialog.

Prototype

public static void showErrorDialog(@Nullable Component component, String message,
            @NotNull @Nls(capitalization = Nls.Capitalization.Title) String title) 

Source Link

Usage

From source file:com.atlassian.theplugin.idea.crucible.AbstractCrucibleCreatePostCommitReviewForm.java

License:Apache License

protected ReviewAdapter createReviewImpl(final ServerData server, final Review reviewBeingConstructed,
        final ChangeList[] changes) throws RemoteApiException, ServerPasswordNotProvidedException {
    if (reviewBeingConstructed.getRepoName() == null) {
        Messages.showErrorDialog(project, "Repository not selected. Unable to create review.\n",
                "Repository required");
        return null;
    }//  w w  w  . j  a  v a 2 s.c  o m
    java.util.List<String> revisions = new ArrayList<String>();
    if (changes != null) {
        for (ChangeList change : changes) {
            if (change instanceof CommittedChangeList) {
                CommittedChangeList committedChangeList = (CommittedChangeList) change;
                revisions.add(Long.toString(committedChangeList.getNumber()));
            }
        }
    }

    if (revisions.isEmpty()) {
        return crucibleServerFacade.createReview(server, reviewBeingConstructed);
    } else {
        return crucibleServerFacade.createReviewFromRevision(server, reviewBeingConstructed, revisions);
    }

}

From source file:com.atlassian.theplugin.idea.crucible.CrucibleReviewCreateForm.java

License:Apache License

protected void runCreateReviewTask(final boolean runUntilSuccessful) {
    final ServerComboBoxItem selectedItem = (ServerComboBoxItem) crucibleServersComboBox.getSelectedItem();
    if (selectedItem != null) {
        final Date startDate = new Date();

        final ServerData server = selectedItem.getServer();

        LoggerImpl.getInstance()/*from  w  w  w  .  j  a v  a  2  s. c  o  m*/
                .info("CrucibleReviewCreateForm.runCreateReviewTask() - starting review creation task");

        Task.Backgroundable changesTask = new Task.Backgroundable(project, "Creating review...",
                runUntilSuccessful) {

            public boolean isCancelled = false;

            @Nullable
            private String errorMessage;

            public void run(@NotNull final ProgressIndicator indicator) {

                boolean submissionSuccess = false;
                do {
                    LoggerImpl.getInstance().info("runCreateReviewTask.run() - retrying review creation");

                    indicator.setText("Attempting to create review... ");
                    ModalityState modalityState = ModalityState
                            .stateForComponent(CrucibleReviewCreateForm.this.getRootComponent());

                    try {

                        LoggerImpl.getInstance().info("runCreateReviewTask.run() - before createReview()");
                        Review reviewBeingCreated = prepareReview(server);
                        if (reviewBeingCreated == null) {
                            errorMessage = "Review not created: " + "Cannot prepare review data";
                            return;
                        }
                        final ReviewAdapter draftReview = createReview(server, reviewBeingCreated);
                        if (draftReview == null) {
                            errorMessage = "Review not created: createReview returned null";
                            return;
                        }
                        submissionSuccess = true;
                        LoggerImpl.getInstance().info("runCreateReviewTask.run() - before addReviewers()");
                        LoggerImpl.getInstance().info("runCreateReviewTask.run() - before getReview()");

                        final ReviewAdapter newRevewFinal = draftReview != null
                                ? crucibleServerFacade.getReview(server, draftReview.getPermId())
                                : null;

                        ApplicationManager.getApplication().invokeLater(new Runnable() {
                            public void run() {
                                if (newRevewFinal != null) {
                                    BrowserUtil.launchBrowser(newRevewFinal.getReviewUrl());
                                }
                            }
                        }, modalityState);
                    } catch (final Throwable e) {
                        if (!runUntilSuccessful) {
                            LoggerImpl.getInstance().info(
                                    "runCreateReviewTask.run() - review creation error - " + e.getMessage());
                            ApplicationManager.getApplication().invokeAndWait(new Runnable() {
                                public void run() {
                                    String message = "Error creating review: " + server.getUrl();
                                    if (isUnknownChangeSetException(e)) {
                                        message += "\nSpecified change set could not be found on server. Check selected repository";
                                    }
                                    DialogWithDetails.showExceptionDialog(project, message, e);
                                }
                            }, modalityState);
                        } else {
                            if (isUnknownChangeSetException(e)) {
                                LoggerImpl.getInstance().info("runCreateReviewTask.run() "
                                        + "- unknown changeset exception - fisheye does not know this review yet");
                                try {
                                    Date now = new Date();
                                    if (reviewCreationTimeout > 0
                                            && now.getTime() - startDate.getTime() > reviewCreationTimeout
                                                    * MILLISECONDS_IN_MINUTE) {
                                        LoggerImpl.getInstance()
                                                .info("runCreateReviewTask.run() - review creation timed out");
                                        SwingUtilities.invokeLater(new Runnable() {
                                            public void run() {
                                                Messages.showErrorDialog(project,
                                                        "Creation of the review on server\n"
                                                                + selectedItem.getServer().getName()
                                                                + " timed out after " + reviewCreationTimeout
                                                                + " minutes",
                                                        "Review Creation Timeout");
                                            }
                                        });
                                        break;
                                    }
                                    LoggerImpl.getInstance()
                                            .info("runCreateReviewTask.run() - sleeping for 10 seconds");
                                    indicator.setText("Waiting for Crucible to update to newest change set...");
                                    for (int i = 0; i < 10; ++i) {
                                        if (indicator.isCanceled()) {
                                            isCancelled = true;
                                            break;
                                        }
                                        Thread.sleep(1000);
                                    }
                                } catch (InterruptedException e1) {
                                    // eeeem, now what?
                                    LoggerImpl.getInstance()
                                            .info("runCreateReviewTask.run() - sleep interrupted");
                                }
                            } else {
                                LoggerImpl.getInstance().info(
                                        "runCreateReviewTask.run() - error creating review: " + e.getMessage());
                                ApplicationManager.getApplication().invokeAndWait(new Runnable() {
                                    public void run() {
                                        DialogWithDetails.showExceptionDialog(project,
                                                "Error creating review: " + server.getUrl(), e);
                                    }
                                }, modalityState);
                                isCancelled = true;
                            }
                        }
                    }
                } while (runUntilSuccessful && !submissionSuccess && !isCancelled && !indicator.isCanceled());
            }

            private boolean isUnknownChangeSetException(Throwable e) {
                return e != null && e.getMessage() != null
                        && (e.getMessage().contains("Specified change set id does not exist")
                                || ((e.getMessage().contains(" Change set id")
                                        || e.getMessage().contains("Changeset id"))
                                        && e.getMessage().contains(" does not exist in repository")));

            }

            @Override
            public void onSuccess() {
                if (errorMessage != null) {
                    Messages.showErrorDialog(project, errorMessage, PluginUtil.PRODUCT_NAME);

                }
            }

            ;
        };
        ProgressManager.getInstance().run(changesTask);
    } else {
        LoggerImpl.getInstance().info("CrucibleReviewCreateForm.runCreateReviewTask() - sselectedItem == null");
    }
}

From source file:com.atlassian.theplugin.idea.jira.IssueCreateDialog.java

License:Apache License

private void create(boolean andOpen) {
    JIRAIssueBean newIssue;//ww  w.j  a v a  2s  . co  m

    newIssue = new JIRAIssueBean();
    newIssue.setSummary(summary.getText());

    if (projectComboBox.getSelectedItem() == null) {
        Messages.showErrorDialog(this.getContentPane(), "Project has to be selected", "Project not defined");
        return;
    }
    newIssue.setProjectKey(((JIRAProject) projectComboBox.getSelectedItem()).getKey());
    if (typeComboBox.getSelectedItem() == null) {
        Messages.showErrorDialog(this.getContentPane(), "Issue type has to be selected",
                "Issue type not defined");
        return;
    }
    newIssue.setType(((JIRAConstant) typeComboBox.getSelectedItem()));
    newIssue.setDescription(description.getText());
    newIssue.setPriority(((JIRAPriorityBean) priorityComboBox.getSelectedItem()));
    newIssue.setOriginalEstimate(originalEstimate.getText());
    if (securityLevels != null && securityLevels.size() > 0 && cbSecurityLevel.getSelectedItem() != null) {
        SecurityLevelWrapper wrapper = (SecurityLevelWrapper) cbSecurityLevel.getSelectedItem();
        JIRASecurityLevelBean sl = wrapper.getWrapped();
        if (sl != null /*&& !wrapper.isNone()*/) {
            newIssue.setSecurityLevel(sl);
        }
    }

    List<JIRAConstant> components = MiscUtil.buildArrayList();
    Collection<Long> selectedComponents = new LinkedHashSet<Long>();
    for (Object selectedObject : componentsList.getSelectedValues()) {
        if (selectedObject instanceof ComponentWrapper) {
            ComponentWrapper componentWrapper = (ComponentWrapper) selectedObject;
            if (componentWrapper.getWrapped().getId() == CacheConstants.UNKNOWN_COMPONENT_ID) {
                if (componentsList.getSelectedValues().length > 1) {
                    Messages.showErrorDialog(getContentPane(),
                            "You cannot select \"Unknown\" with a specific component.");
                    return;
                }
            }
            components.add(componentWrapper.getWrapped());
            selectedComponents.add(componentWrapper.getWrapped().getId());
        }
    }
    if (versionsList.getSelectedValues().length > 0) {
        List<JIRAConstant> versions = new ArrayList<JIRAConstant>();
        for (Object ver : versionsList.getSelectedValues()) {
            VersionWrapper vw = (VersionWrapper) ver;
            versions.add(vw.getWrapped());
        }
        newIssue.setAffectsVersions(versions);
    }

    if (fixVersionsList.getSelectedValues().length > 0) {
        List<JIRAConstant> versions = new ArrayList<JIRAConstant>();
        for (Object ver : fixVersionsList.getSelectedValues()) {
            VersionWrapper vw = (VersionWrapper) ver;
            versions.add(vw.getWrapped());
        }
        newIssue.setFixVersions(versions);
    }

    if (components.size() > 0) {
        newIssue.setComponents(components);
    }
    String assignTo = assigneeField.getSelectedUser();
    if (assignTo.length() > 0) {
        newIssue.setAssigneeId(assignTo);
    }

    // save selected project and components to the config
    if (jiraConfiguration != null && jiraConfiguration.getView() != null) {
        JIRAProject p = (JIRAProject) projectComboBox.getSelectedItem();
        jiraConfiguration.getView().addServerDefault(jiraServerData.getServerId(), p.getKey(),
                selectedComponents);
    }

    createIssueAndCloseOnSuccess(newIssue, andOpen);
}

From source file:com.atlassian.theplugin.idea.jira.WorkLogCreateAndMaybeDeactivateDialog.java

License:Apache License

public WorkLogCreateAndMaybeDeactivateDialog(final JiraServerData jiraServer, final JiraIssueAdapter issue,
        final Project project, final String timeSpent, boolean deactivateActiveIssue,
        @NotNull final JiraWorkspaceConfiguration config) {

    super(false);
    this.issue = issue;

    this.project = project;
    this.deactivateActiveIssue = deactivateActiveIssue;
    this.config = config;

    facade = IntelliJJiraServerFacade.getInstance();

    setupUI();/*from w ww  .j a va 2s  . c o m*/

    if (deactivateActiveIssue) {
        String prefix = PluginTaskManagerHelper.isValidIdeaVersion() ? "[Server Side] " : "";
        setTitle(prefix + "Stop Work on Issue " + issue.getKey());

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                ChangeListManager changeListManager = ChangeListManager.getInstance(project);
                LocalChangeList chList = changeListManager.getDefaultChangeList();

                changesBrowserPanel = IdeaVersionFacade.getInstance().getChangesListBrowser(project,
                        changeListManager, chList.getChanges());
                if (changesBrowserPanel != null) {
                    changesPanel.add(changesBrowserPanel, BorderLayout.CENTER);
                    changesPanel.validate();
                }

                if (!PluginTaskManagerHelper.isValidIdeaVersion()) {
                    if ("default".equalsIgnoreCase(chList.getName())) {
                        btnChangeSetRemove.setEnabled(false);
                        btnLeaveUnchanged.setSelected(btnChangeSetRemove.isSelected());
                    }
                } else {
                    //when synchronizing task with IDEA task then do not allow to manage changelists
                    enableChangesetRadioButtons(true);
                }
            }
        });

        getOKAction().putValue(Action.NAME, prefix + "Stop Work");
    } else {
        setTitle("Add Worklog for " + issue.getKey());
        getOKAction().putValue(Action.NAME, "Add Worklog");
    }
    setOKActionEnabled(false);

    if (timeSpent != null) {
        timeSpentField.setText(timeSpent);
    } else {
        Date startProgressTimestamp = JIRAIssueProgressTimestampCache.getInstance().getTimestamp(jiraServer,
                issue);

        if (startProgressTimestamp != null) {
            timeSpentField.setText(getFormatedDurationString(startProgressTimestamp));
        }
    }

    final Calendar now = Calendar.getInstance();
    endTime = now.getTime();

    endDateLabel
            .setText(DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(now.getTime()));

    endDateChange.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {

                //we catch NPE because of bug in  CalendarPanel.java method  private boolean isShowing(Date date);
                //null minDate. minDate sometines is not initialized see PL-1105
                TimeDatePicker tdp = new TimeDatePicker(endTime);
                if (tdp.isOK()) {
                    endTime = tdp.getSelectedDateTime();
                    String s = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT)
                            .format(endTime);
                    endDateLabel.setText(s);
                }
            } catch (NullPointerException npe) {
                PluginUtil.getLogger().error("Cannot create TimeDatePicker object, NPE: " + npe.getMessage());
            }
        }
    });

    btnUpdateManually.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            boolean b = btnUpdateManually.isSelected();
            remainingEstimateField.setEnabled(b);
            updateOKAction();
        }
    });

    if (jiraServer == null) {
        Messages.showErrorDialog(project, "There is no selected JIRA Server", "Error");
        return;
    }

    chkLogWork.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            UIUtil.setEnabled(timePanel, chkLogWork.isSelected(), true);
            timeSpentListener.stateChanged();
            remainingEstimateListener.stateChanged();
            updateOKAction();
            if (timePanel.isEnabled()) {
                remainingEstimateField.setEnabled(btnUpdateManually.isSelected());
            }
        }
    });
    if (deactivateActiveIssue) {
        chkCommitChanges.addActionListener((new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                UIUtil.setEnabled(changesetPanel, chkCommitChanges.isSelected(), true);
                enableChangesetRadioButtons(false);
            }
        }));
    }

    init();
    setCommentText();
    validate();

    timeSpentListener = new WdhmInputListener(timeSpentField);
    remainingEstimateListener = new WdhmInputListener(remainingEstimateField);

    timeSpentField.getDocument().addDocumentListener(timeSpentListener);
    remainingEstimateField.getDocument().addDocumentListener(remainingEstimateListener);

    timeSpentListener.stateChanged();
    remainingEstimateListener.stateChanged();

    updateOKAction();
}

From source file:com.boxysystems.libraryfinder.view.intellij.actions.AddToModuleClasspathAction.java

License:Apache License

private void addLibraryToClasspath(final Module module) {

    Application application = ApplicationManager.getApplication();
    application.runWriteAction(new Runnable() {

        public void run() {
            try {
                final ModuleRootManager rootManager = ModuleRootManager.getInstance(module);
                final ModifiableRootModel rootModel = rootManager.getModifiableModel();
                for (String libraryPath : libraryPaths) {
                    String escapedLibraryURL = PathUtil.escapeLibraryURL(libraryPath);
                    final LibraryTable libraryTable = rootModel.getModuleLibraryTable();
                    addLibrary(libraryTable, libraryPath, escapedLibraryURL);
                }/*from  ww w.j a v  a 2  s  .  c o  m*/
                if (rootModel.isWritable()) {
                    rootModel.commit();
                } else {
                    Messages.showErrorDialog(project,
                            "The project configuration doesn't allow adding libraries to the classpath!",
                            "Error");
                }
            } catch (Throwable e) {
                Messages.showErrorDialog(project, "Error while adding library to classpath: " + e, "Error");
            }
        }
    });
}

From source file:com.boxysystems.libraryfinder.view.intellij.ui.FileExplorer.java

License:Apache License

private static void showErrorDialog(Throwable e, String command, Project project) {
    StringBuffer errorMessage = new StringBuffer(errHeader);
    errorMessage.append(e.getLocalizedMessage());
    if (command.length() > 0) {
        errorMessage.append(Constants.NEW_LINE + " command = '" + command + "'");
    }/*from  w ww  . j a  va2  s.c o m*/
    Messages.showErrorDialog(project, errorMessage.toString(), "Error");
}

From source file:com.compoundtheory.intellij.tmux.actions.SendCurrentLineAction.java

License:Apache License

public void actionPerformed(AnActionEvent e) {
    //thanks La Clojure - https://github.com/JetBrains/la-clojure/blob/clojure-idea-11/src/org/jetbrains/plugins/clojure/repl/actions/RunSelectedTextAction.java
    Editor editor = e.getData(DataKeys.EDITOR);

    if (editor == null) {
        return;//  ww  w.  j a v a2  s .c  o  m
    }

    CaretModel caretModel = editor.getCaretModel();
    Document document = editor.getDocument();
    Project project = e.getData(DataKeys.PROJECT);
    TmuxProjSettings settings = TmuxProjSettings.getInstance(project);

    int currentCaretOffset = caretModel.getOffset();
    int currentLine = document.getLineNumber(currentCaretOffset);
    int startOffset = document.getLineStartOffset(currentLine);
    int endOffset = document.getLineEndOffset(currentLine);

    // if the line is empty (or the caret is not even in the editor) we don't do anything
    if (endOffset - startOffset == 0) {
        return;
    }

    TextRange currentLineTextRange = new TextRange(startOffset, endOffset);
    if (currentLineTextRange == null) {
        return;
    }

    String currentLineText = document.getText(currentLineTextRange);
    if (currentLineText == null || currentLineText.trim().length() == 0) {
        return;
    }

    if (TmuxPlugin.currentTarget == null) {
        Messages.showErrorDialog(e.getProject(), "Please select a pane before sending text to Tmux.",
                "Error sending data to Tmux");
        return;
    }

    Tmux.getInstance().sendText(currentLineText.trim(), TmuxPlugin.currentTarget, settings);
}

From source file:com.compoundtheory.intellij.tmux.actions.SendSelectedTextAction.java

License:Apache License

public void actionPerformed(AnActionEvent e) {
    //thanks La Clojure - https://github.com/JetBrains/la-clojure/blob/clojure-idea-11/src/org/jetbrains/plugins/clojure/repl/actions/RunSelectedTextAction.java
    Editor editor = e.getData(DataKeys.EDITOR);

    if (editor == null) {
        return;/* ww  w. jav a2  s  .c  om*/
    }

    SelectionModel selectionModel = editor.getSelectionModel();
    String selectedText = selectionModel.getSelectedText();
    Project project = e.getData(DataKeys.PROJECT);
    TmuxProjSettings settings = TmuxProjSettings.getInstance(project);

    if (selectedText == null || selectedText.trim().length() == 0) {
        return;
    }

    if (TmuxPlugin.currentTarget == null) {
        Messages.showErrorDialog(e.getProject(), "Please select a pane before sending text to Tmux.",
                "Error sending data to Tmux");
        return;
    }

    Tmux.getInstance().sendText(selectedText, TmuxPlugin.currentTarget, settings);
}

From source file:com.facebook.buck.intellij.ideabuck.fixup.ErrorDialog.java

License:Apache License

static void showErrorDialog(Project project, String title, String messagePattern, Object... parameters) {
    Messages.showErrorDialog(project, String.format(messagePattern, parameters), title);
}

From source file:com.facebook.plugin.config.AndroidManifestConfigurator.java

License:Open Source License

@Override
public void doConfigure(final Module module) {
    final Manifest androidManifest = getAndroidManifest(module);
    if ((androidManifest == null) || (androidManifest.getApplication() == null)
            || !WritingAccessProvider.isPotentiallyWritable(
                    androidManifest.getXmlElement().getContainingFile().getVirtualFile(), null)) {
        Messages.showErrorDialog(module.getProject(),
                "Cannot find or modify Android manifest file for module " + module.getName(),
                "Facebook SDK Plugin");
        return;/* w ww .  j  ava 2  s  .co m*/
    }

    final PsiFile manifestFile = androidManifest.getXmlElement().getContainingFile();
    final Application application = androidManifest.getApplication();
    final XmlElement applicationTag = application.getXmlElement();
    final XmlElementFactory elementFactory = XmlElementFactory.getInstance(module.getProject());

    new WriteCommandAction(manifestFile.getProject()) {
        @Override
        protected void run(@NotNull Result result) {

            for (String permission : permissions) {
                if (!androidManifest.getXmlElement().getText().contains(permission)) {
                    XmlTag permTag = elementFactory.createTagFromText(PERMISSION_TAG);
                    permTag.setAttribute(NAME_ATTR, permission);
                    androidManifest.getXmlElement().addBefore(permTag, applicationTag);
                }
            }

            for (Map.Entry<String, String> metadata : metadata.entrySet()) {
                if (!applicationTag.getText().contains(metadata.getKey())) {
                    XmlTag mdTag = elementFactory.createTagFromText(METADATA_TAG);
                    mdTag.setAttribute(NAME_ATTR, metadata.getKey());
                    mdTag.setAttribute(VALUE_ATTR, metadata.getValue());
                    application.getXmlElement().add(mdTag);
                }
            }

            if (!applicationTag.getText().contains(activityName)) {
                final Activity newActivity = application.addActivity();
                newActivity.getActivityClass().setStringValue(activityName);
            }

            CodeInsightUtilCore.forcePsiPostprocessAndRestoreElement(manifestFile);
        }
    }.execute();

    OpenFileAction.openFile(manifestFile.getVirtualFile().getPath(), module.getProject());
}