@NotNull private static String commitButtonMessage(@Nullable CommitExecutor executor, @NotNull CheckinProjectPanel panel) { return StringUtil.trimEnd(executor != null ? executor.getActionText() : panel.getCommitActionName(), "..."); }
private List<VirtualFile> filesFor(final LocalChangeList changeList) { if (changeList == null || changeList.getChanges() == null) { return Collections.emptyList(); } final Collection<VirtualFile> filesInChanges = new HashSet<>(); for (Change change : changeList.getChanges()) { if (change.getVirtualFile() != null) { filesInChanges.add(change.getVirtualFile()); } } return new ArrayList<>(filesInChanges); }
@Override public void update(final AnActionEvent event) { super.update(event); Project project = null; try { project = DataKeys.PROJECT.getData(event.getDataContext()); if (project == null) { // check if we're loading... return; } final CheckStylePlugin checkStylePlugin = project.getComponent(CheckStylePlugin.class); if (checkStylePlugin == null) { throw new IllegalStateException("Couldn't get checkstyle plugin"); } final Presentation presentation = event.getPresentation(); final LocalChangeList changeList = ChangeListManager.getInstance(project).getDefaultChangeList(); if (changeList == null || changeList.getChanges() == null || changeList.getChanges().size() == 0) { presentation.setEnabled(false); } else { presentation.setEnabled(!checkStylePlugin.isScanInProgress()); } } catch (Throwable e) { LOG.warn("Button update failed.", e); } } }
private String getAffectedFilePath(Change change) { ContentRevision afterRevision = change.getAfterRevision(); if (afterRevision != null) { return afterRevision.getFile().getPath(); } ContentRevision beforeRevision = change.getBeforeRevision(); if (beforeRevision != null) { return beforeRevision.getFile().getPath(); } return null; }
@Override public final void actionPerformed(final AnActionEvent event) { Project project; try { project = DataKeys.PROJECT.getData(event.getDataContext()); if (project == null) { return; } final ToolWindow toolWindow = ToolWindowManager.getInstance(project) .getToolWindow(CheckStyleToolWindowPanel.ID_TOOLWINDOW); final ChangeListManager changeListManager = ChangeListManager.getInstance(project); project.getComponent(CheckStylePlugin.class).asyncScanFiles(changeListManager.getAffectedFiles(), getSelectedOverride(toolWindow)); } catch (Throwable e) { LOG.warn("Modified files scan failed", e); } }
protected void updateChangeListManager() { ChangeListManager changeListManager = ChangeListManager.getInstance(myProject); VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); changeListManager.ensureUpToDate(false); }
@Override public final void actionPerformed(final AnActionEvent event) { Project project = null; try { project = DataKeys.PROJECT.getData(event.getDataContext()); if (project == null) { return; } final ToolWindow toolWindow = ToolWindowManager.getInstance(project) .getToolWindow(CheckStyleToolWindowPanel.ID_TOOLWINDOW); final ChangeListManager changeListManager = ChangeListManager.getInstance(project); project.getComponent(CheckStylePlugin.class).asyncScanFiles(filesFor(changeListManager .getDefaultChangeList()), getSelectedOverride(toolWindow)); } catch (Throwable e) { LOG.warn("Modified files scan failed", e); } }
public ChangeListManager getMockChangelistManager() { return ChangeListManager.getInstance(idea.getMockProject()); }
private Change buildCommitMsgChange() { Change baseChange = Iterables.find(changesProvider.provide(base), COMMIT_MSG_CHANGE_PREDICATE); ContentRevision baseRevision = baseChange.getAfterRevision(); Change change = Iterables.find(changesProvider.provide(commit), COMMIT_MSG_CHANGE_PREDICATE); ContentRevision revision = change.getAfterRevision(); return new Change(baseRevision, revision); }
@Nullable @Override public synchronized LocalChangeList findChangeList(String name) { if (name == null) { return null; } for (LocalChangeList change : changes) { if (name.equals(change.getName())) { return change; } } return clMgr.findChangeList(name); }
private void watchJob(BrowserPanel browserPanel, Job job) { if (changeLists.length > 0) { for(ChangeList list: changeLists) { browserPanel.addToWatch(list.getName(), job); } } }
public void run() { if (project.isOpen() && (!project.isDisposed()) && (!project.isDefault())) { final VcsDirtyScopeManager mgr = VcsDirtyScopeManager.getInstance(project); mgr.fileDirty(virtualBaseDirectory); } } });
@Override public boolean value(VirtualFile file) { return !changeListManager.isIgnoredFile(file) && !vcsManager.isIgnored(file); } });
@Override public void onChangeListSelected(LocalChangeList list) { model.setSelectedCurrentChanges(list.getChanges()); }
@Override public void processLocallyDeletedFile(LocallyDeletedChange locallyDeletedChange) { locallyDeleted.add(locallyDeletedChange.getPath()); }
@Override public synchronized LocalChangeList findOrCreateList(String name, String comment) { LocalChangeList cl = findChangeList(name); if (cl != null) { cl.setComment(comment); return cl; } return addChangeList(name, comment); }
private void addChange(@Nullable String changeListName, @NotNull Change change) { addedChanges.put(changeListName, change); if (change.getBeforeRevision() != null) { addedChangedFiles.put(changeListName, change.getBeforeRevision().getFile()); } if (change.getAfterRevision() != null) { addedChangedFiles.put(changeListName, change.getAfterRevision().getFile()); } } }
@Override public void update(final AnActionEvent event) { super.update(event); Project project = null; try { project = DataKeys.PROJECT.getData(event.getDataContext()); if (project == null) { // check if we're loading... return; } final CheckStylePlugin checkStylePlugin = project.getComponent(CheckStylePlugin.class); if (checkStylePlugin == null) { throw new IllegalStateException("Couldn't get checkstyle plugin"); } final Presentation presentation = event.getPresentation(); // disable if no files are modified final List<VirtualFile> modifiedFiles = ChangeListManager.getInstance(project).getAffectedFiles(); if (modifiedFiles.isEmpty()) { presentation.setEnabled(false); } else { presentation.setEnabled(!checkStylePlugin.isScanInProgress()); } } catch (Throwable e) { LOG.warn("Button update failed.", e); } } }
private int promptUser(final CheckStylePlugin plugin, final int errorCount, final CommitExecutor executor) { String commitButtonText; if (executor != null) { commitButtonText = executor.getActionText(); } else { commitButtonText = checkinPanel.getCommitActionName(); } if (commitButtonText.endsWith("...")) { commitButtonText = commitButtonText.substring(0, commitButtonText.length() - 3); } final String[] buttons = new String[]{ message("handler.before.checkin.error.review"), commitButtonText, CommonBundle.getCancelButtonText()}; return Messages.showDialog(plugin.getProject(), message("handler.before.checkin.error.text", errorCount), message("handler.before.checkin.error.title"), buttons, 0, UIUtil.getWarningIcon()); }
@Override public boolean apply(Change change) { String commitMsgFile = "/COMMIT_MSG"; ContentRevision afterRevision = change.getAfterRevision(); if (afterRevision != null) { return commitMsgFile.equals(PathUtils.ensureSlashSeparators(afterRevision.getFile().getPath())); } ContentRevision beforeRevision = change.getBeforeRevision(); if (beforeRevision != null) { return commitMsgFile.equals(PathUtils.ensureSlashSeparators(beforeRevision.getFile().getPath())); } throw new IllegalStateException("Change should have at least one ContentRevision set."); } };