mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Tasks. 1. Simplify controls on NewEditChangelistPanel. 2. Bug: not fully updating local task from issue.
This commit is contained in:
@@ -88,7 +88,7 @@ public abstract class TaskManager {
|
||||
@Nullable
|
||||
public abstract LocalTask getAssociatedTask(LocalChangeList list);
|
||||
|
||||
public abstract void associateWithTask(LocalChangeList changeList, boolean withCurrent);
|
||||
public abstract void trackContext(LocalChangeList changeList);
|
||||
|
||||
public abstract void disassociateFromTask(LocalChangeList changeList);
|
||||
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ public class AssociateWithTaskAction extends ToggleAction implements DumbAware {
|
||||
TaskManager manager = TaskManager.getManager(project);
|
||||
for (ChangeList list : lists) {
|
||||
if (list instanceof LocalChangeList) {
|
||||
manager.associateWithTask((LocalChangeList)list, true);
|
||||
manager.trackContext((LocalChangeList)list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+10
-3
@@ -39,9 +39,15 @@ public class CreateChangelistAction extends BaseTaskAction {
|
||||
if (manager == null || !manager.isVcsEnabled()) {
|
||||
presentation.setText(getTemplatePresentation().getText());
|
||||
presentation.setEnabled(false);
|
||||
} else {
|
||||
presentation.setText("Create changelist for '" + TaskUtil.getTrimmedSummary(manager.getActiveTask()) + "'");
|
||||
}
|
||||
else {
|
||||
presentation.setEnabled(true);
|
||||
if (manager.getActiveTask().getChangeLists().size() == 0) {
|
||||
presentation.setText("Create changelist for '" + TaskUtil.getTrimmedSummary(manager.getActiveTask()) + "'");
|
||||
}
|
||||
else {
|
||||
presentation.setText("Add changelist for '" + TaskUtil.getTrimmedSummary(manager.getActiveTask()) + "'");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,7 +57,8 @@ public class CreateChangelistAction extends BaseTaskAction {
|
||||
TaskManagerImpl manager = (TaskManagerImpl)getTaskManager(e);
|
||||
assert manager != null;
|
||||
LocalTask activeTask = manager.getActiveTask();
|
||||
String name = Messages.showInputDialog(getProject(e), "Changelist name:", "Create Changelist", null, manager.getChangelistName(activeTask), null);
|
||||
String name =
|
||||
Messages.showInputDialog(getProject(e), "Changelist name:", "Create Changelist", null, manager.getChangelistName(activeTask), null);
|
||||
if (name != null) {
|
||||
manager.createChangeList(activeTask, name);
|
||||
}
|
||||
|
||||
@@ -134,18 +134,19 @@ public class LocalTaskImpl extends LocalTask {
|
||||
}
|
||||
|
||||
private void copy(Task issue) {
|
||||
mySummary = issue.getSummary();
|
||||
myDescription = issue.getDescription();
|
||||
myComments = issue.getComments();
|
||||
myClosed = issue.isClosed();
|
||||
myCreated = issue.getCreated();
|
||||
if (Comparing.compare(myUpdated, issue.getUpdated()) < 0) {
|
||||
myUpdated = issue.getUpdated();
|
||||
}
|
||||
myPresentableName = issue.getPresentableName();
|
||||
mySummary = issue.getSummary();
|
||||
myClosed = issue.isClosed();
|
||||
myIssueUrl = issue.getIssueUrl();
|
||||
myType = issue.getType();
|
||||
myDescription = issue.getDescription();
|
||||
myComments = issue.getComments();
|
||||
myPresentableName = issue.getPresentableName();
|
||||
myCustomIcon = issue.getCustomIcon();
|
||||
myIssueUrl = issue.getIssueUrl();
|
||||
myRepository = issue.getRepository();
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
|
||||
@@ -20,15 +20,14 @@ import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vcs.changes.LocalChangeList;
|
||||
import com.intellij.openapi.vcs.changes.ui.EditChangelistSupport;
|
||||
import com.intellij.tasks.ChangeListInfo;
|
||||
import com.intellij.tasks.LocalTask;
|
||||
import com.intellij.tasks.actions.OpenTaskDialog;
|
||||
import com.intellij.ui.EditorTextField;
|
||||
import com.intellij.ui.TextFieldWithAutoCompletionContributor;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* @author Dmitry Avdeev
|
||||
@@ -51,66 +50,37 @@ public class TaskChangelistSupport implements EditChangelistSupport {
|
||||
TextFieldWithAutoCompletionContributor.installCompletion(document, myProject, completionProvider, false);
|
||||
}
|
||||
|
||||
public Consumer<LocalChangeList> addControls(JPanel bottomPanel, @Nullable final LocalChangeList initial) {
|
||||
if (initial == null || myTaskManager.getAssociatedTask(initial) == null) {
|
||||
return addControlsForNotAssociatedChangelist(bottomPanel, initial);
|
||||
}
|
||||
else {
|
||||
return addControlsForAssociatedChangelist(bottomPanel, initial);
|
||||
}
|
||||
}
|
||||
|
||||
private Consumer<LocalChangeList> addControlsForAssociatedChangelist(final JPanel bottomPanel, final LocalChangeList initial) {
|
||||
final JCheckBox checkBox = new JCheckBox("Disassociate from task");
|
||||
checkBox.setMnemonic('A');
|
||||
checkBox.setSelected(false);
|
||||
bottomPanel.add(Box.createHorizontalStrut(UIUtil.DEFAULT_HGAP));
|
||||
bottomPanel.add(checkBox);
|
||||
return new Consumer<LocalChangeList>() {
|
||||
public void consume(LocalChangeList changeList) {
|
||||
if (checkBox.isSelected()) {
|
||||
myTaskManager.disassociateFromTask(changeList);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private Consumer<LocalChangeList> addControlsForNotAssociatedChangelist(final JPanel bottomPanel, @Nullable final LocalChangeList initial) {
|
||||
final JCheckBox checkBox = new JCheckBox("Associate with:");
|
||||
checkBox.setMnemonic('A');
|
||||
public Consumer<LocalChangeList> addControls(JPanel bottomPanel, final LocalChangeList initial) {
|
||||
final JCheckBox checkBox = new JCheckBox("Track context");
|
||||
checkBox.setMnemonic('t');
|
||||
checkBox.setToolTipText("Reload context (e.g. open editors) when changelist is set active");
|
||||
|
||||
ButtonGroup group = new ButtonGroup();
|
||||
final JRadioButton withCurrent = new JRadioButton("current task");
|
||||
withCurrent.setMnemonic('c');
|
||||
group.add(withCurrent);
|
||||
JRadioButton withNew = new JRadioButton("new task");
|
||||
withNew.setMnemonic('n');
|
||||
group.add(withNew);
|
||||
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
panel.add(withCurrent, BorderLayout.NORTH);
|
||||
panel.add(withNew, BorderLayout.SOUTH);
|
||||
|
||||
bottomPanel.add(Box.createHorizontalStrut(UIUtil.DEFAULT_HGAP));
|
||||
checkBox.setSelected(initial == null ?
|
||||
myTaskManager.getState().trackContextForNewChangelist :
|
||||
myTaskManager.getAssociatedTask(initial) != null);
|
||||
bottomPanel.add(checkBox);
|
||||
bottomPanel.add(Box.createHorizontalStrut(UIUtil.DEFAULT_HGAP));
|
||||
bottomPanel.add(panel);
|
||||
|
||||
checkBox.setSelected(myTaskManager.getState().associateWithTaskForNewChangelist);
|
||||
if (myTaskManager.getState().associateWithCurrentTaskForNewChangelist) {
|
||||
withCurrent.setSelected(true);
|
||||
}
|
||||
else {
|
||||
withNew.setSelected(true);
|
||||
}
|
||||
|
||||
return new Consumer<LocalChangeList>() {
|
||||
public void consume(LocalChangeList changeList) {
|
||||
myTaskManager.getState().associateWithTaskForNewChangelist = checkBox.isSelected();
|
||||
myTaskManager.getState().associateWithCurrentTaskForNewChangelist = withCurrent.isSelected();
|
||||
if (checkBox.isSelected()) {
|
||||
myTaskManager.associateWithTask(changeList, withCurrent.isSelected());
|
||||
if (initial == null) {
|
||||
myTaskManager.getState().trackContextForNewChangelist = checkBox.isSelected();
|
||||
if (checkBox.isSelected()) {
|
||||
myTaskManager.trackContext(changeList);
|
||||
}
|
||||
else {
|
||||
myTaskManager.getActiveTask().addChangelist(new ChangeListInfo(changeList));
|
||||
}
|
||||
}
|
||||
else {
|
||||
final LocalTask associatedTask = myTaskManager.getAssociatedTask(changeList);
|
||||
if (checkBox.isSelected()) {
|
||||
if (associatedTask == null) {
|
||||
myTaskManager.trackContext(changeList);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (associatedTask != null) {
|
||||
myTaskManager.removeTask(associatedTask);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -651,7 +651,7 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe
|
||||
}
|
||||
|
||||
private static LocalTaskImpl createDefaultTask() {
|
||||
return new LocalTaskImpl(LocalTaskImpl.DEFAULT_TASK_ID, "Default task");
|
||||
return new LocalTaskImpl(LocalTaskImpl.DEFAULT_TASK_ID, "Default");
|
||||
}
|
||||
|
||||
public void disposeComponent() {
|
||||
@@ -790,19 +790,14 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void associateWithTask(LocalChangeList changeList, final boolean withCurrent) {
|
||||
public void trackContext(LocalChangeList changeList) {
|
||||
ChangeListInfo changeListInfo = new ChangeListInfo(changeList);
|
||||
if (withCurrent) {
|
||||
getActiveTask().addChangelist(changeListInfo);
|
||||
}
|
||||
else {
|
||||
String changeListName = changeList.getName();
|
||||
LocalTaskImpl task = createLocalTask(changeListName);
|
||||
task.addChangelist(changeListInfo);
|
||||
addTask(task);
|
||||
if (changeList.isDefault()) {
|
||||
activateTask(task, false, false);
|
||||
}
|
||||
String changeListName = changeList.getName();
|
||||
LocalTaskImpl task = createLocalTask(changeListName);
|
||||
task.addChangelist(changeListInfo);
|
||||
addTask(task);
|
||||
if (changeList.isDefault()) {
|
||||
activateTask(task, false, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -846,13 +841,19 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe
|
||||
}
|
||||
|
||||
public String getChangelistName(Task task) {
|
||||
TaskRepository repository = task.getRepository();
|
||||
if (repository != null && myConfig.changelistNameFormat != null) {
|
||||
if (task.isIssue() && myConfig.changelistNameFormat != null) {
|
||||
return TaskUtil.formatTask(task, myConfig.changelistNameFormat);
|
||||
}
|
||||
return task.getSummary();
|
||||
}
|
||||
|
||||
public ChangeListAdapter getChangeListListener() {
|
||||
if (ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
return myChangeListListener;
|
||||
}
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public static class Config {
|
||||
|
||||
@Property(surroundWithTag = false)
|
||||
@@ -870,8 +871,7 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe
|
||||
public boolean clearContext = true;
|
||||
public boolean createChangelist = true;
|
||||
public boolean saveContextOnCommit = true;
|
||||
public boolean associateWithTaskForNewChangelist = true;
|
||||
public boolean associateWithCurrentTaskForNewChangelist = true;
|
||||
public boolean trackContextForNewChangelist = false;
|
||||
public boolean markAsInProgress = false;
|
||||
public String changelistNameFormat = "{id} {summary}";
|
||||
|
||||
|
||||
@@ -30,8 +30,8 @@ public class TaskManagerTest extends TaskManagerTestCase {
|
||||
|
||||
}
|
||||
};
|
||||
myManager.addTaskListener(listener);
|
||||
myManager.removeTaskListener(listener);
|
||||
myTaskManager.addTaskListener(listener);
|
||||
myTaskManager.removeTaskListener(listener);
|
||||
}
|
||||
|
||||
public void testTaskSwitch() throws Exception {
|
||||
@@ -43,16 +43,16 @@ public class TaskManagerTest extends TaskManagerTestCase {
|
||||
count.set(count.get() + 1);
|
||||
}
|
||||
};
|
||||
myManager.addTaskListener(listener);
|
||||
LocalTask localTask = myManager.createLocalTask("foo");
|
||||
myManager.activateTask(localTask, false, false);
|
||||
myTaskManager.addTaskListener(listener);
|
||||
LocalTask localTask = myTaskManager.createLocalTask("foo");
|
||||
myTaskManager.activateTask(localTask, false, false);
|
||||
assertEquals(1, count.get().intValue());
|
||||
|
||||
LocalTask other = myManager.createLocalTask("bar");
|
||||
myManager.activateTask(other, false, false);
|
||||
LocalTask other = myTaskManager.createLocalTask("bar");
|
||||
myTaskManager.activateTask(other, false, false);
|
||||
assertEquals(2, count.get().intValue());
|
||||
|
||||
myManager.removeTaskListener(listener);
|
||||
myTaskManager.removeTaskListener(listener);
|
||||
}
|
||||
|
||||
public void testNotifications() throws Exception {
|
||||
@@ -83,13 +83,13 @@ public class TaskManagerTest extends TaskManagerTestCase {
|
||||
throw new Exception();
|
||||
}
|
||||
};
|
||||
myManager.setRepositories(Collections.singletonList(repository));
|
||||
myTaskManager.setRepositories(Collections.singletonList(repository));
|
||||
|
||||
myManager.updateIssues(null);
|
||||
myTaskManager.updateIssues(null);
|
||||
|
||||
assertNull(notificationRef.get());
|
||||
|
||||
myManager.getIssues("");
|
||||
myTaskManager.getIssues("");
|
||||
|
||||
assertNotNull(notificationRef.get());
|
||||
}
|
||||
@@ -97,7 +97,7 @@ public class TaskManagerTest extends TaskManagerTestCase {
|
||||
public void testSharedServers() throws Exception {
|
||||
TaskRepository repository = new YouTrackRepository(new YouTrackRepositoryType());
|
||||
repository.setShared(true);
|
||||
myManager.setRepositories(Collections.singletonList(repository));
|
||||
myTaskManager.setRepositories(Collections.singletonList(repository));
|
||||
|
||||
TaskProjectConfiguration configuration = ServiceManager.getService(getProject(), TaskProjectConfiguration.class);
|
||||
TaskProjectConfiguration state = configuration.getState();
|
||||
@@ -106,14 +106,14 @@ public class TaskManagerTest extends TaskManagerTestCase {
|
||||
Element element = XmlSerializer.serialize(state);
|
||||
|
||||
configuration.servers.clear();
|
||||
myManager.setRepositories(Collections.<TaskRepository>emptyList());
|
||||
myTaskManager.setRepositories(Collections.<TaskRepository>emptyList());
|
||||
|
||||
configuration.loadState(XmlSerializer.deserialize(element, TaskProjectConfiguration.class));
|
||||
assertEquals(1, state.servers.size());
|
||||
|
||||
myManager.projectOpened();
|
||||
myTaskManager.projectOpened();
|
||||
|
||||
TaskRepository[] repositories = myManager.getAllRepositories();
|
||||
TaskRepository[] repositories = myTaskManager.getAllRepositories();
|
||||
assertEquals(1, repositories.length);
|
||||
}
|
||||
|
||||
@@ -126,13 +126,13 @@ public class TaskManagerTest extends TaskManagerTestCase {
|
||||
return super.getIssues(query, max, since);
|
||||
}
|
||||
};
|
||||
myManager.setRepositories(Collections.singletonList(repository));
|
||||
myTaskManager.setRepositories(Collections.singletonList(repository));
|
||||
|
||||
List<Task> issues = myManager.getIssues("");
|
||||
List<Task> issues = myTaskManager.getIssues("");
|
||||
assertEquals(1, issues.size());
|
||||
|
||||
stopper.set(Boolean.TRUE);
|
||||
issues = myManager.getIssues("");
|
||||
issues = myTaskManager.getIssues("");
|
||||
assertEquals(1, issues.size());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,31 +16,31 @@ public abstract class TaskManagerTestCase extends LightCodeInsightFixtureTestCas
|
||||
IdeaTestCase.initPlatformPrefix();
|
||||
}
|
||||
|
||||
protected TaskManagerImpl myManager;
|
||||
protected TaskManagerImpl myTaskManager;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myManager = (TaskManagerImpl)TaskManager.getManager(getProject());
|
||||
myTaskManager = (TaskManagerImpl)TaskManager.getManager(getProject());
|
||||
removeAllTasks();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
try {
|
||||
myManager.setRepositories(Collections.<TaskRepository>emptyList());
|
||||
myTaskManager.setRepositories(Collections.<TaskRepository>emptyList());
|
||||
removeAllTasks();
|
||||
}
|
||||
finally {
|
||||
myManager = null;
|
||||
myTaskManager = null;
|
||||
}
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
private void removeAllTasks() {
|
||||
List<LocalTask> tasks = myManager.getLocalTasks();
|
||||
List<LocalTask> tasks = myTaskManager.getLocalTasks();
|
||||
for (LocalTask task : tasks) {
|
||||
myManager.removeTask(task);
|
||||
myTaskManager.removeTask(task);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,17 +36,17 @@ public class TaskSettingsTest extends TaskManagerTestCase {
|
||||
TaskRepository repository = new YouTrackRepository();
|
||||
String format = "foo \n bar";
|
||||
repository.setCommitMessageFormat(format);
|
||||
myManager.setRepositories(Collections.singletonList(repository));
|
||||
TaskManagerImpl.Config config = myManager.getState();
|
||||
myTaskManager.setRepositories(Collections.singletonList(repository));
|
||||
TaskManagerImpl.Config config = myTaskManager.getState();
|
||||
Element element = XmlSerializer.serialize(config);
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
JDOMUtil.writeDocument(new Document(element), stream, "\n");
|
||||
|
||||
Document document = JDOMUtil.loadDocument(new ByteArrayInputStream(stream.toByteArray()));
|
||||
TaskManagerImpl.Config deserialize = XmlSerializer.deserialize(document, TaskManagerImpl.Config.class);
|
||||
myManager.loadState(deserialize);
|
||||
myTaskManager.loadState(deserialize);
|
||||
|
||||
TaskRepository[] repositories = myManager.getAllRepositories();
|
||||
TaskRepository[] repositories = myTaskManager.getAllRepositories();
|
||||
assertEquals(format, repositories[0].getCommitMessageFormat());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,44 +43,44 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
private ChangeListManager myChangeListManager;
|
||||
|
||||
public void testInitialState() {
|
||||
assertEquals(1, myManager.getLocalTasks().size());
|
||||
final LocalTask defaultTask = myManager.getLocalTasks().get(0);
|
||||
assertEquals(defaultTask, myManager.getActiveTask());
|
||||
assertEquals(1, myTaskManager.getLocalTasks().size());
|
||||
final LocalTask defaultTask = myTaskManager.getLocalTasks().get(0);
|
||||
assertEquals(defaultTask, myTaskManager.getActiveTask());
|
||||
assertTrue(defaultTask.isDefault());
|
||||
|
||||
assertEquals(1, myChangeListManager.getChangeLists().size());
|
||||
assertEquals(1, defaultTask.getChangeLists().size());
|
||||
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(myChangeListManager.getChangeLists().get(0)));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(myChangeListManager.getChangeLists().get(0)));
|
||||
assertEquals(defaultTask.getChangeLists().get(0).id, myChangeListManager.getChangeLists().get(0).getId());
|
||||
assertEquals(defaultTask.getChangeLists().get(0), new ChangeListInfo(myChangeListManager.getChangeLists().get(0)));
|
||||
}
|
||||
|
||||
public void testSwitchingTasks() throws Exception {
|
||||
final LocalTask defaultTask = myManager.getLocalTasks().get(0);
|
||||
final LocalTask defaultTask = myTaskManager.getLocalTasks().get(0);
|
||||
|
||||
Task task = myRepository.findTask("TEST-001");
|
||||
assertNotNull(task);
|
||||
myManager.activateTask(task, false, false);
|
||||
myTaskManager.activateTask(task, false, false);
|
||||
|
||||
assertEquals(2, myManager.getLocalTasks().size());
|
||||
assertEquals(2, myTaskManager.getLocalTasks().size());
|
||||
|
||||
LocalTask localTask = myManager.getActiveTask();
|
||||
LocalTask localTask = myTaskManager.getActiveTask();
|
||||
assertEquals(task, localTask);
|
||||
|
||||
assertEquals(0, localTask.getChangeLists().size());
|
||||
assertEquals(1, defaultTask.getChangeLists().size());
|
||||
assertEquals(1, myChangeListManager.getChangeLists().size());
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(myChangeListManager.getChangeLists().get(0)));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(myChangeListManager.getChangeLists().get(0)));
|
||||
|
||||
myManager.activateTask(defaultTask, false, false);
|
||||
myTaskManager.activateTask(defaultTask, false, false);
|
||||
|
||||
assertEquals(0, localTask.getChangeLists().size());
|
||||
assertEquals(1, defaultTask.getChangeLists().size());
|
||||
assertEquals(1, myChangeListManager.getChangeLists().size());
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(myChangeListManager.getChangeLists().get(0)));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(myChangeListManager.getChangeLists().get(0)));
|
||||
|
||||
myManager.activateTask(localTask, false, true);
|
||||
myTaskManager.activateTask(localTask, false, true);
|
||||
|
||||
assertEquals(1, localTask.getChangeLists().size());
|
||||
assertEquals(1, defaultTask.getChangeLists().size());
|
||||
@@ -89,13 +89,13 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
LocalChangeList activeChangeList = myChangeListManager.getDefaultChangeList();
|
||||
LocalChangeList anotherChangeList = myChangeListManager.getChangeLists().get(1 - myChangeListManager.getChangeLists().indexOf(activeChangeList));
|
||||
|
||||
assertEquals(localTask, myManager.getAssociatedTask(activeChangeList));
|
||||
assertEquals(localTask, myTaskManager.getAssociatedTask(activeChangeList));
|
||||
assertEquals(activeChangeList.getName(), "TEST-001 Summary");
|
||||
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(anotherChangeList));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(anotherChangeList));
|
||||
assertEquals(anotherChangeList.getName(), "Default");
|
||||
|
||||
myManager.activateTask(defaultTask, false, false);
|
||||
myTaskManager.activateTask(defaultTask, false, false);
|
||||
|
||||
assertEquals(1, localTask.getChangeLists().size());
|
||||
assertEquals(1, defaultTask.getChangeLists().size());
|
||||
@@ -104,26 +104,26 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
activeChangeList = myChangeListManager.getDefaultChangeList();
|
||||
anotherChangeList = myChangeListManager.getChangeLists().get(1 - myChangeListManager.getChangeLists().indexOf(activeChangeList));
|
||||
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(activeChangeList));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(activeChangeList));
|
||||
assertEquals(activeChangeList.getName(), "Default");
|
||||
|
||||
assertEquals(localTask, myManager.getAssociatedTask(anotherChangeList));
|
||||
assertEquals(localTask, myTaskManager.getAssociatedTask(anotherChangeList));
|
||||
assertEquals(anotherChangeList.getName(), "TEST-001 Summary");
|
||||
}
|
||||
|
||||
public void testAddChangeListViaCreateChangeListAction() throws Exception {
|
||||
Task task = myRepository.findTask("TEST-001");
|
||||
assertNotNull(task);
|
||||
myManager.activateTask(task, false, true);
|
||||
myTaskManager.activateTask(task, false, true);
|
||||
|
||||
LocalTask defaultTask = myManager.findTask("Default");
|
||||
LocalTask defaultTask = myTaskManager.findTask("Default");
|
||||
assertNotNull(defaultTask);
|
||||
myManager.activateTask(defaultTask, false, true);
|
||||
assertEquals(defaultTask, myManager.getActiveTask());
|
||||
myTaskManager.activateTask(defaultTask, false, true);
|
||||
assertEquals(defaultTask, myTaskManager.getActiveTask());
|
||||
|
||||
LocalTask anotherTask = myManager.findTask("TEST-001");
|
||||
LocalTask anotherTask = myTaskManager.findTask("TEST-001");
|
||||
assertNotNull(anotherTask);
|
||||
myManager.createChangeList(defaultTask, "Default (1)");
|
||||
myTaskManager.createChangeList(defaultTask, "Default (1)");
|
||||
|
||||
assertEquals(1, anotherTask.getChangeLists().size());
|
||||
assertEquals(2, defaultTask.getChangeLists().size());
|
||||
@@ -137,55 +137,54 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
LocalChangeList anotherChangeList = myChangeListManager.findChangeList("TEST-001 Summary");
|
||||
assertNotNull(anotherChangeList);
|
||||
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(defaultChangeListActive));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(defaultChangeListActive));
|
||||
assertEquals(defaultChangeListActive.getName(), "Default (1)");
|
||||
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(defaultChangeListInactive));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(defaultChangeListInactive));
|
||||
assertEquals(defaultChangeListInactive.getName(), "Default");
|
||||
|
||||
assertEquals(anotherTask, myManager.getAssociatedTask(anotherChangeList));
|
||||
assertEquals(anotherTask, myTaskManager.getAssociatedTask(anotherChangeList));
|
||||
assertEquals(anotherChangeList.getName(), "TEST-001 Summary");
|
||||
}
|
||||
|
||||
public void testRemoveChangelistViaVcsAction() throws Exception {
|
||||
Task task = myRepository.findTask("TEST-001");
|
||||
assertNotNull(task);
|
||||
myManager.activateTask(task, false, true);
|
||||
myTaskManager.activateTask(task, false, true);
|
||||
|
||||
LocalTask defaultTask = myManager.findTask("Default");
|
||||
LocalTask defaultTask = myTaskManager.findTask("Default");
|
||||
assertNotNull(defaultTask);
|
||||
myManager.activateTask(defaultTask, false, true);
|
||||
assertEquals(defaultTask, myManager.getActiveTask());
|
||||
myTaskManager.activateTask(defaultTask, false, true);
|
||||
assertEquals(defaultTask, myTaskManager.getActiveTask());
|
||||
|
||||
LocalTask anotherTask = myManager.findTask("TEST-001");
|
||||
LocalTask anotherTask = myTaskManager.findTask("TEST-001");
|
||||
assertNotNull(anotherTask);
|
||||
|
||||
LocalChangeList defaultChangeList = myChangeListManager.findChangeList("Default");
|
||||
assertNotNull(defaultChangeList);
|
||||
LocalChangeList anotherChangeList = myChangeListManager.findChangeList("TEST-001 Summary");
|
||||
assertNotNull(anotherChangeList);
|
||||
myChangeListManager.removeChangeList(anotherChangeList);
|
||||
Thread.sleep(1000);
|
||||
removeChangeList(anotherChangeList);
|
||||
|
||||
assertEquals(0, anotherTask.getChangeLists().size());
|
||||
assertEquals(1, defaultTask.getChangeLists().size());
|
||||
assertEquals(1, myChangeListManager.getChangeLists().size());
|
||||
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(defaultChangeList));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(defaultChangeList));
|
||||
assertEquals(defaultChangeList.getName(), "Default");
|
||||
}
|
||||
|
||||
public void testAddChangeListViaVcsActionToCurrentTask() throws Exception {
|
||||
public void testAddChangeListViaVcsAction() throws Exception {
|
||||
Task task = myRepository.findTask("TEST-001");
|
||||
assertNotNull(task);
|
||||
myManager.activateTask(task, false, true);
|
||||
myTaskManager.activateTask(task, false, true);
|
||||
|
||||
LocalTask defaultTask = myManager.findTask("Default");
|
||||
LocalTask defaultTask = myTaskManager.findTask("Default");
|
||||
assertNotNull(defaultTask);
|
||||
myManager.activateTask(defaultTask, false, true);
|
||||
assertEquals(defaultTask, myManager.getActiveTask());
|
||||
myTaskManager.activateTask(defaultTask, false, true);
|
||||
assertEquals(defaultTask, myTaskManager.getActiveTask());
|
||||
|
||||
LocalTask anotherTask = myManager.findTask("TEST-001");
|
||||
LocalTask anotherTask = myTaskManager.findTask("TEST-001");
|
||||
assertNotNull(anotherTask);
|
||||
addChangeList("Default (1)", "");
|
||||
|
||||
@@ -201,42 +200,29 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
LocalChangeList anotherChangeList = myChangeListManager.findChangeList("TEST-001 Summary");
|
||||
assertNotNull(anotherChangeList);
|
||||
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(defaultChangeListActive));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(defaultChangeListActive));
|
||||
assertEquals(defaultChangeListActive.getName(), "Default");
|
||||
|
||||
assertEquals(defaultTask, myManager.getAssociatedTask(defaultChangeListInactive));
|
||||
assertEquals(defaultTask, myTaskManager.getAssociatedTask(defaultChangeListInactive));
|
||||
assertEquals(defaultChangeListInactive.getName(), "Default (1)");
|
||||
|
||||
assertEquals(anotherTask, myManager.getAssociatedTask(anotherChangeList));
|
||||
assertEquals(anotherTask, myTaskManager.getAssociatedTask(anotherChangeList));
|
||||
assertEquals(anotherChangeList.getName(), "TEST-001 Summary");
|
||||
}
|
||||
|
||||
public void testAddChangeListViaVcsActionToNewTask() throws InterruptedException {
|
||||
myManager.getState().associateWithCurrentTaskForNewChangelist = false;
|
||||
public void testTrackContext() {
|
||||
myTaskManager.getState().trackContextForNewChangelist = true;
|
||||
|
||||
addChangeList("New Changelist", "");
|
||||
assertEquals(2, myManager.getLocalTasks().size());
|
||||
assertEquals(2, myTaskManager.getLocalTasks().size());
|
||||
assertEquals(2, myChangeListManager.getChangeLists().size());
|
||||
LocalChangeList newChangeList = myChangeListManager.findChangeList("New Changelist");
|
||||
assertNotNull(newChangeList);
|
||||
LocalTask newTask = myManager.getAssociatedTask(newChangeList);
|
||||
LocalTask newTask = myTaskManager.getAssociatedTask(newChangeList);
|
||||
assertNotNull(newTask);
|
||||
assertEquals(newTask.getSummary(), "New Changelist");
|
||||
|
||||
myManager.getState().associateWithCurrentTaskForNewChangelist = true;
|
||||
}
|
||||
|
||||
public void testNotAssociateChangeListWithTask() {
|
||||
myManager.getState().associateWithTaskForNewChangelist = false;
|
||||
|
||||
addChangeList("New Changelist", "");
|
||||
assertEquals(1, myManager.getLocalTasks().size());
|
||||
assertEquals(2, myChangeListManager.getChangeLists().size());
|
||||
LocalChangeList newChangeList = myChangeListManager.findChangeList("New Changelist");
|
||||
assertNotNull(newChangeList);
|
||||
assertNull(myManager.getAssociatedTask(newChangeList));
|
||||
|
||||
myManager.getState().associateWithTaskForNewChangelist = true;
|
||||
myTaskManager.getState().trackContextForNewChangelist = false;
|
||||
}
|
||||
|
||||
public void testCreateComment() throws Exception {
|
||||
@@ -244,24 +230,24 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
myRepository.setCommitMessageFormat("{id} {summary} {number} {project}");
|
||||
Task task = myRepository.findTask("TEST-001");
|
||||
assertNotNull(task);
|
||||
myManager.activateTask(task, false, true);
|
||||
LocalTask localTask = myManager.getActiveTask();
|
||||
myTaskManager.activateTask(task, false, true);
|
||||
LocalTask localTask = myTaskManager.getActiveTask();
|
||||
assertNotNull(localTask);
|
||||
assertEquals("TEST-001 Summary 001 TEST", localTask.getChangeLists().get(0).comment);
|
||||
}
|
||||
|
||||
public void testSaveContextOnCommitForExistingTask() throws Exception {
|
||||
myManager.getState().saveContextOnCommit = true;
|
||||
myTaskManager.getState().saveContextOnCommit = true;
|
||||
|
||||
assertEquals(1, myManager.getLocalTasks().size());
|
||||
assertEquals(1, myTaskManager.getLocalTasks().size());
|
||||
|
||||
Task task = myRepository.findTask("TEST-001");
|
||||
assertNotNull(task);
|
||||
myManager.activateTask(task, false, true);
|
||||
myTaskManager.activateTask(task, false, true);
|
||||
|
||||
assertEquals(2, myManager.getLocalTasks().size());
|
||||
assertEquals(2, myTaskManager.getLocalTasks().size());
|
||||
assertEquals(2, myChangeListManager.getChangeLists().size());
|
||||
LocalTask localTask = myManager.getActiveTask();
|
||||
LocalTask localTask = myTaskManager.getActiveTask();
|
||||
List<ChangeListInfo> changelists = localTask.getChangeLists();
|
||||
ChangeListInfo info = changelists.get(0);
|
||||
LocalChangeList changeList = myChangeListManager.getChangeList(info.id);
|
||||
@@ -269,31 +255,29 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
|
||||
CommitChangeListDialog.commitChanges(getProject(), Collections.<Change>emptyList(), changeList, null, changeList.getName());
|
||||
|
||||
assertEquals(2, myManager.getLocalTasks().size()); // no extra task created
|
||||
assertEquals(2, myTaskManager.getLocalTasks().size()); // no extra task created
|
||||
assertEquals(2, myChangeListManager.getChangeLists().size());
|
||||
|
||||
assertEquals(localTask, myManager.getAssociatedTask(changeList)); // association should survive
|
||||
assertEquals(localTask, myTaskManager.getAssociatedTask(changeList)); // association should survive
|
||||
}
|
||||
|
||||
public void testSaveContextOnCommit() throws Exception {
|
||||
myManager.getState().saveContextOnCommit = true;
|
||||
myTaskManager.getState().saveContextOnCommit = true;
|
||||
|
||||
assertEquals(1, myManager.getLocalTasks().size());
|
||||
assertEquals(1, myTaskManager.getLocalTasks().size());
|
||||
assertEquals(1, myChangeListManager.getChangeLists().size());
|
||||
|
||||
myManager.getState().associateWithTaskForNewChangelist = false;
|
||||
LocalChangeList changeList = addChangeList("New Changelist", "");
|
||||
myManager.getState().associateWithTaskForNewChangelist = true;
|
||||
|
||||
assertEquals(1, myManager.getLocalTasks().size());
|
||||
assertEquals(1, myTaskManager.getLocalTasks().size());
|
||||
assertEquals(2, myChangeListManager.getChangeLists().size());
|
||||
|
||||
CommitChangeListDialog.commitChanges(getProject(), Collections.<Change>emptyList(), changeList, null, changeList.getName());
|
||||
|
||||
assertEquals(2, myManager.getLocalTasks().size()); // extra task created
|
||||
assertEquals(2, myTaskManager.getLocalTasks().size()); // extra task created
|
||||
assertEquals(2, myChangeListManager.getChangeLists().size());
|
||||
|
||||
assertTrue(ContainerUtil.exists(myManager.getLocalTasks(), new Condition<LocalTask>() {
|
||||
assertTrue(ContainerUtil.exists(myTaskManager.getLocalTasks(), new Condition<LocalTask>() {
|
||||
@Override
|
||||
public boolean value(final LocalTask task) {
|
||||
return task.getSummary().equals("New Changelist");
|
||||
@@ -301,12 +285,22 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
}));
|
||||
}
|
||||
|
||||
public LocalChangeList addChangeList(String title, String comment) {
|
||||
private LocalChangeList addChangeList(String title, String comment) {
|
||||
final LocalChangeList list = myChangeListManager.addChangeList(title, comment);
|
||||
new TaskChangelistSupport(getProject(), myManager).addControls(new JPanel(), null).consume(list);
|
||||
new TaskChangelistSupport(getProject(), myTaskManager).addControls(new JPanel(), null).consume(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private void removeChangeList(LocalChangeList changeList) {
|
||||
myChangeListManager.removeChangeList(changeList);
|
||||
myTaskManager.getChangeListListener().changeListRemoved(changeList);
|
||||
}
|
||||
|
||||
private void setDefaultChangeList(LocalChangeList changeList) {
|
||||
myChangeListManager.setDefaultChangeList(changeList);
|
||||
myTaskManager.getChangeListListener().defaultListChanged(null, changeList);
|
||||
}
|
||||
|
||||
public void testProjectWithDash() throws Exception {
|
||||
LocalTaskImpl task = new LocalTaskImpl("foo-bar-001", "summary") {
|
||||
@Override
|
||||
@@ -316,7 +310,7 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
};
|
||||
assertEquals("foo-bar", task.getProject());
|
||||
assertEquals("001", task.getNumber());
|
||||
String name = myManager.getChangelistName(task);
|
||||
String name = myTaskManager.getChangelistName(task);
|
||||
assertEquals("foo-bar-001 summary", name);
|
||||
}
|
||||
|
||||
@@ -338,21 +332,6 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
assertEquals(null, task.getProject());
|
||||
}
|
||||
|
||||
public void testEditDefaultChangeList() {
|
||||
myManager.getState().associateWithTaskForNewChangelist = false;
|
||||
addChangeList("test", "");
|
||||
final LocalChangeList changeList = myChangeListManager.findChangeList("test");
|
||||
assertNotNull(changeList);
|
||||
myChangeListManager.setDefaultChangeList(changeList);
|
||||
myManager.getState().associateWithTaskForNewChangelist = true;
|
||||
myManager.getState().associateWithCurrentTaskForNewChangelist = false;
|
||||
new TaskChangelistSupport(getProject(), myManager).addControls(new JPanel(), changeList).consume(changeList);
|
||||
final LocalTask task = myManager.getAssociatedTask(changeList);
|
||||
assertNotNull(task);
|
||||
assertTrue(task.isActive());
|
||||
myManager.getState().associateWithCurrentTaskForNewChangelist = true;
|
||||
}
|
||||
|
||||
private TestRepository myRepository;
|
||||
private MockAbstractVcs myVcs;
|
||||
|
||||
@@ -362,12 +341,13 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
myVcs = new MockAbstractVcs(getProject());
|
||||
AllVcses.getInstance(getProject()).registerManually(myVcs);
|
||||
myChangeListManager = ChangeListManager.getInstance(getProject());
|
||||
myChangeListManager.removeChangeListListener(myTaskManager.getChangeListListener());
|
||||
addChangeList("Default", "");
|
||||
final LocalChangeList defaultChangeList = myChangeListManager.findChangeList("Default");
|
||||
assertNotNull(defaultChangeList);
|
||||
myChangeListManager.setDefaultChangeList(defaultChangeList);
|
||||
setDefaultChangeList(defaultChangeList);
|
||||
for (LocalChangeList changeList : myChangeListManager.getChangeLists()) {
|
||||
if (!changeList.isDefault()) myChangeListManager.removeChangeList(changeList);
|
||||
if (!changeList.isDefault()) removeChangeList(changeList);
|
||||
}
|
||||
|
||||
|
||||
@@ -440,7 +420,7 @@ public class TaskVcsTest extends TaskManagerTestCase {
|
||||
return myRepository;
|
||||
}
|
||||
});
|
||||
myManager.setRepositories(Collections.singletonList(myRepository));
|
||||
myTaskManager.setRepositories(Collections.singletonList(myRepository));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,9 +32,9 @@ public class ContextTest extends TaskManagerTestCase {
|
||||
manager.clearContext();
|
||||
manager.loadContext("first");
|
||||
|
||||
manager.saveContext(myManager.getActiveTask());
|
||||
manager.saveContext(myTaskManager.getActiveTask());
|
||||
manager.clearContext();
|
||||
manager.restoreContext(myManager.getActiveTask());
|
||||
manager.restoreContext(myTaskManager.getActiveTask());
|
||||
}
|
||||
|
||||
public void testPack() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user