Skip to content

Commit

Permalink
SONAR-8857 remove redundant QProfileService class
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel Schwarz authored and bartfastiel committed Mar 23, 2017
1 parent 2558913 commit ca9c09d
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 94 deletions.
Expand Up @@ -149,7 +149,6 @@
import org.sonar.server.qualityprofile.QProfileFactory;
import org.sonar.server.qualityprofile.QProfileLookup;
import org.sonar.server.qualityprofile.QProfileResetImpl;
import org.sonar.server.qualityprofile.QProfileService;
import org.sonar.server.qualityprofile.RuleActivator;
import org.sonar.server.qualityprofile.RuleActivatorContextFactory;
import org.sonar.server.qualityprofile.index.ActiveRuleIndexer;
Expand Down Expand Up @@ -270,7 +269,6 @@ protected void configureLevel() {
OldRestoreAction.class,
RuleActivator.class,
QProfileExporters.class,
QProfileService.class,
RuleActivatorContextFactory.class,
QProfileFactory.class,
QProfileCopier.class,
Expand Down

This file was deleted.

Expand Up @@ -398,7 +398,7 @@ private String validateParam(RuleParamDto ruleParam, @Nullable String value) {
return value;
}

BulkChangeResult bulkActivate(RuleQuery ruleQuery, String profileKey, @Nullable String severity) {
public BulkChangeResult bulkActivate(RuleQuery ruleQuery, String profileKey, @Nullable String severity) {
DbSession dbSession = db.openSession(false);
BulkChangeResult result = new BulkChangeResult();
try {
Expand Down Expand Up @@ -428,7 +428,7 @@ BulkChangeResult bulkActivate(RuleQuery ruleQuery, String profileKey, @Nullable
return result;
}

BulkChangeResult bulkDeactivate(RuleQuery ruleQuery, String profile) {
public BulkChangeResult bulkDeactivate(RuleQuery ruleQuery, String profile) {
DbSession dbSession = db.openSession(false);
BulkChangeResult result = new BulkChangeResult();
try {
Expand Down
Expand Up @@ -24,10 +24,13 @@
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.server.organization.DefaultOrganizationProvider;
import org.sonar.server.qualityprofile.BulkChangeResult;
import org.sonar.server.qualityprofile.QProfileService;
import org.sonar.server.qualityprofile.RuleActivator;
import org.sonar.server.rule.ws.RuleQueryFactory;
import org.sonar.server.user.UserSession;

import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.server.rule.ws.SearchAction.defineRuleSearchParameters;

@ServerSide
Expand All @@ -38,12 +41,17 @@ public class ActivateRulesAction implements QProfileWsAction {

public static final String BULK_ACTIVATE_ACTION = "activate_rules";

private final QProfileService profileService;
private final RuleQueryFactory ruleQueryFactory;
private final UserSession userSession;
private final DefaultOrganizationProvider defaultOrganizationProvider;
private final RuleActivator ruleActivator;

public ActivateRulesAction(QProfileService profileService, RuleQueryFactory ruleQueryFactory) {
this.profileService = profileService;
public ActivateRulesAction(RuleQueryFactory ruleQueryFactory, UserSession userSession, DefaultOrganizationProvider defaultOrganizationProvider,
RuleActivator ruleActivator) {
this.ruleQueryFactory = ruleQueryFactory;
this.userSession = userSession;
this.defaultOrganizationProvider = defaultOrganizationProvider;
this.ruleActivator = ruleActivator;
}

public void define(WebService.NewController controller) {
Expand All @@ -68,10 +76,15 @@ public void define(WebService.NewController controller) {

@Override
public void handle(Request request, Response response) throws Exception {
BulkChangeResult result = profileService.bulkActivate(
ruleQueryFactory.createRuleQuery(request),
request.mandatoryParam(PROFILE_KEY),
request.param(SEVERITY));
verifyAdminPermission();
BulkChangeResult result = ruleActivator.bulkActivate(ruleQueryFactory.createRuleQuery(request), request.mandatoryParam(PROFILE_KEY), request.param(SEVERITY));
BulkChangeWsResponse.writeResponse(result, response);
}

private void verifyAdminPermission() {
// FIXME check for the permission of the appropriate organization, not the default one
userSession
.checkLoggedIn()
.checkPermission(ADMINISTER_QUALITY_PROFILES, defaultOrganizationProvider.get().getUuid());
}
}
Expand Up @@ -23,10 +23,13 @@
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.server.organization.DefaultOrganizationProvider;
import org.sonar.server.qualityprofile.BulkChangeResult;
import org.sonar.server.qualityprofile.QProfileService;
import org.sonar.server.qualityprofile.RuleActivator;
import org.sonar.server.rule.ws.RuleQueryFactory;
import org.sonar.server.user.UserSession;

import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.server.rule.ws.SearchAction.defineRuleSearchParameters;

@ServerSide
Expand All @@ -37,12 +40,17 @@ public class DeactivateRulesAction implements QProfileWsAction {

public static final String BULK_DEACTIVATE_ACTION = "deactivate_rules";

private final QProfileService profileService;
private final RuleQueryFactory ruleQueryFactory;
private final UserSession userSession;
private final DefaultOrganizationProvider defaultOrganizationProvider;
private final RuleActivator ruleActivator;

public DeactivateRulesAction(QProfileService profileService, RuleQueryFactory ruleQueryFactory) {
this.profileService = profileService;
public DeactivateRulesAction(RuleQueryFactory ruleQueryFactory, UserSession userSession, DefaultOrganizationProvider defaultOrganizationProvider,
RuleActivator ruleActivator) {
this.ruleQueryFactory = ruleQueryFactory;
this.userSession = userSession;
this.defaultOrganizationProvider = defaultOrganizationProvider;
this.ruleActivator = ruleActivator;
}

public void define(WebService.NewController controller) {
Expand All @@ -63,9 +71,15 @@ public void define(WebService.NewController controller) {

@Override
public void handle(Request request, Response response) throws Exception {
BulkChangeResult result = profileService.bulkDeactivate(
ruleQueryFactory.createRuleQuery(request),
request.mandatoryParam(PROFILE_KEY));
verifyAdminPermission();
BulkChangeResult result = ruleActivator.bulkDeactivate(ruleQueryFactory.createRuleQuery(request), request.mandatoryParam(PROFILE_KEY));
BulkChangeWsResponse.writeResponse(result, response);
}

private void verifyAdminPermission() {
// FIXME check for the permission of the appropriate organization, not the default one
userSession
.checkLoggedIn()
.checkPermission(ADMINISTER_QUALITY_PROFILES, defaultOrganizationProvider.get().getUuid());
}
}
Expand Up @@ -27,7 +27,6 @@
import org.sonar.db.DbTester;
import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.qualityprofile.RuleActivator;
import org.sonar.server.qualityprofile.index.ActiveRuleIndexer;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.WsActionTester;

Expand All @@ -45,9 +44,7 @@ public class ActivateRulesActionTest {

private DbClient dbClient = dbTester.getDbClient();
private RuleActivator ruleActivator = mock(RuleActivator.class);
private QProfileWsSupport wsSupport = new QProfileWsSupport(dbClient, userSession, TestDefaultOrganizationProvider.from(dbTester));
private ActiveRuleIndexer activeRuleIndexer = mock(ActiveRuleIndexer.class);
private ActivateRulesAction underTest = new ActivateRulesAction(null, null);
private ActivateRulesAction underTest = new ActivateRulesAction(null, null, TestDefaultOrganizationProvider.from(dbTester), ruleActivator);
private WsActionTester wsActionTester = new WsActionTester(underTest);

@Test
Expand Down
Expand Up @@ -27,7 +27,6 @@
import org.sonar.db.DbTester;
import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.qualityprofile.RuleActivator;
import org.sonar.server.qualityprofile.index.ActiveRuleIndexer;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.WsActionTester;

Expand All @@ -45,9 +44,7 @@ public class DeactivateRulesActionTest {

private DbClient dbClient = dbTester.getDbClient();
private RuleActivator ruleActivator = mock(RuleActivator.class);
private QProfileWsSupport wsSupport = new QProfileWsSupport(dbClient, userSession, TestDefaultOrganizationProvider.from(dbTester));
private ActiveRuleIndexer activeRuleIndexer = mock(ActiveRuleIndexer.class);
private DeactivateRulesAction underTest = new DeactivateRulesAction(null, null);
private DeactivateRulesAction underTest = new DeactivateRulesAction(null, null, TestDefaultOrganizationProvider.from(dbTester), ruleActivator);
private WsActionTester wsActionTester = new WsActionTester(underTest);

@Test
Expand Down
Expand Up @@ -45,7 +45,6 @@
import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.qualityprofile.QProfileLookup;
import org.sonar.server.qualityprofile.QProfileName;
import org.sonar.server.qualityprofile.QProfileService;
import org.sonar.server.qualityprofile.QProfileTesting;
import org.sonar.server.qualityprofile.RuleActivation;
import org.sonar.server.qualityprofile.RuleActivator;
Expand Down Expand Up @@ -76,7 +75,6 @@ public class InheritanceActionTest {
private InheritanceAction underTest;
private WsActionTester wsActionTester;
private RuleActivator ruleActivator;
private QProfileService service;
private OrganizationDto organization;

@Before
Expand All @@ -101,10 +99,6 @@ public void setUp() {
new TypeValidations(new ArrayList<>()),
activeRuleIndexer,
userSession);
service = new QProfileService(
ruleActivator,
userSession,
defaultOrganizationProvider);
organization = dbTester.organizations().insert();
}

Expand Down
Expand Up @@ -33,7 +33,6 @@
import org.sonar.server.language.LanguageTesting;
import org.sonar.server.organization.DefaultOrganizationProvider;
import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.qualityprofile.QProfileService;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.WsTester;

Expand All @@ -52,7 +51,6 @@ public class QProfilesWsTest {

@Before
public void setUp() {
QProfileService profileService = mock(QProfileService.class);
DbClient dbClient = mock(DbClient.class);

Languages languages = LanguageTesting.newLanguages(xoo1Key, xoo2Key);
Expand Down

0 comments on commit ca9c09d

Please sign in to comment.