package qubexplorer.ui;
import java.util.Collections;
import java.util.List;
import org.openide.windows.WindowManager;
import org.sonar.wsclient.base.HttpException;
import org.sonar.wsclient.issue.ActionPlan;
import qubexplorer.server.SonarQube;
import qubexplorer.ui.task.Task;
/**
*
* @author Victor
*/
public class ActionPlansTask extends Task<List<ActionPlan>>{
private final SonarQube sonarQube;
public ActionPlansTask(SonarQube sonarQube, ProjectContext projectContext) {
super(projectContext, sonarQube.getServerUrl());
this.sonarQube=sonarQube;
}
@Override
public List<ActionPlan> execute() {
try{
return sonarQube.getActionPlans(getUserCredentials(), getProjectContext().getConfiguration().getKey());
}catch(HttpException ex){
if(ex.status() == 404){
return Collections.emptyList();
}else{
throw ex;
}
}
}
@Override
protected void success(List<ActionPlan> result) {
SonarIssuesTopComponent issuesTopComponent = (SonarIssuesTopComponent) WindowManager.getDefault().findTopComponent("SonarIssuesTopComponent");
issuesTopComponent.setActionPlans(result);
issuesTopComponent.open();
issuesTopComponent.requestVisible();
}
}