package qubexplorer.ui;
import org.openide.windows.WindowManager;
import org.sonar.wsclient.services.Rule;
import qubexplorer.server.SonarQube;
import qubexplorer.ui.task.Task;
/**
*
* @author Victor
*/
public class RuleTask extends Task<Rule>{
private final SonarQube sonarQube;
private final Rule rule;
public RuleTask(SonarQube sonarQube, Rule rule, ProjectContext projectContext) {
super(projectContext, sonarQube.getServerUrl());
this.sonarQube=sonarQube;
this.rule=rule;
}
@Override
public Rule execute() {
return sonarQube.getRule(getUserCredentials(), rule.getKey());
}
@Override
protected void success(Rule ruleInServer) {
rule.setDescription(ruleInServer.getDescription());
RuleDialog.showRule(WindowManager.getDefault().getMainWindow(), ruleInServer);
}
}