mylyn-gitea/io.gitea.mylyn.ui/src/io/gitea/mylyn/ui/GiteaConnectorUI.java

79 lines
2.6 KiB
Java

// Copyright (c) 2021, Fr.Terrot. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package io.gitea.mylyn.ui;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.mylyn.tasks.core.IRepositoryQuery;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.mylyn.tasks.core.ITaskComment;
import org.eclipse.mylyn.tasks.core.ITaskMapping;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi;
import org.eclipse.mylyn.tasks.ui.wizards.ITaskRepositoryPage;
import org.eclipse.mylyn.tasks.ui.wizards.NewTaskWizard;
import org.eclipse.mylyn.tasks.ui.wizards.RepositoryQueryWizard;
import io.gitea.model.IssueType;
import io.gitea.mylyn.core.GiteaPluginCore;
public class GiteaConnectorUI extends AbstractRepositoryConnectorUi {
@Override
public String getConnectorKind() {
return GiteaPluginCore.CONNECTOR_KIND;
}
@Override
public IWizard getNewTaskWizard(TaskRepository repository, ITaskMapping mapping) {
return new NewTaskWizard(repository, mapping);
}
@Override
public IWizard getQueryWizard(TaskRepository repository, IRepositoryQuery query) {
RepositoryQueryWizard wizard = new RepositoryQueryWizard(repository);
wizard.addPage(new GiteaQueryPage(Labels.NEW_PAGE, repository, query));
return wizard;
}
@Override
public ITaskRepositoryPage getSettingsPage(TaskRepository repository) {
return new GiteaRepositorySettingsPage(Labels.NEW_REPOSITORY, Labels.SETTINGS_PAGE, repository);
}
@Override
public boolean hasSearchPage() {
return false;
}
@Override
public ImageDescriptor getTaskKindOverlay(ITask task) {
//FIXME: complete with other kind epic,...enhancement ...
String kind = task.getTaskKind();
try {
switch(IssueType.valueOf(kind)) {
case BUG:
return GiteaImages.ISSUE;
case FEATURE:
return GiteaImages.OVERLAY_FEATURE;
case STORY:
return GiteaImages.OVERLAY_STORY;
default:
}
}
catch (IllegalArgumentException e) {
// unhandled task kind.
}
return super.getTaskKindOverlay(task);
}
@Override
public String getReplyText(TaskRepository taskRepository, ITask task, ITaskComment taskComment,
boolean includeTask) {
return "Reply to " + taskComment.getAuthor();
}
}