List of usage examples for com.intellij.openapi.ui Messages showErrorDialog
public static void showErrorDialog(@Nullable Component component, String message, @NotNull @Nls(capitalization = Nls.Capitalization.Title) String title)
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()); }