1 package com.atlassian.theplugin.idea.action.crucible;
2
3 import com.atlassian.theplugin.commons.crucible.CrucibleServerFacadeImpl;
4 import com.atlassian.theplugin.idea.crucible.CrucibleRevisionAddWorker;
5 import com.intellij.openapi.actionSystem.AnActionEvent;
6 import com.intellij.openapi.actionSystem.DataKeys;
7 import com.intellij.openapi.application.ApplicationManager;
8 import com.intellij.openapi.application.ModalityState;
9 import com.intellij.openapi.vcs.changes.ChangeList;
10 import com.intellij.openapi.vcs.changes.Change;
11
12
13 public class ViewFisheyeChangesetAction extends Crucible16RepositoryAction {
14 public void actionPerformed(AnActionEvent event) {
15 final ChangeList[] changes = DataKeys.CHANGE_LISTS.getData(event.getDataContext());
16
17 if (changes.length == 1) {
18 String rev = "";
19 for (Change change : changes[0].getChanges()) {
20 rev = change.getAfterRevision().getRevisionNumber().asString();
21 break;
22 }
23 final String finalRev = rev;
24 new Thread(new Runnable() {
25 public void run() {
26 ApplicationManager.getApplication().invokeAndWait(
27 new CrucibleRevisionAddWorker(CrucibleServerFacadeImpl.getInstance(), finalRev),
28 ModalityState.defaultModalityState());
29 }
30 }).start();
31 }
32 }
33 }
34