]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8857 remove redundant QProfileService class
authorDaniel Schwarz <daniel.schwarz@sonarsource.com>
Thu, 23 Mar 2017 16:11:29 +0000 (17:11 +0100)
committerDaniel Schwarz <bartfastiel@users.noreply.github.com>
Thu, 23 Mar 2017 19:57:55 +0000 (20:57 +0100)
server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java [deleted file]
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRulesAction.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/DeactivateRulesAction.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRulesActionTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/DeactivateRulesActionTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/QProfilesWsTest.java

index c3ff7eecd9290e93e0b917b40b5aba6a30d61082..575eb2b2634e15f4fefcd266221b9ecdc8e9c751 100644 (file)
@@ -149,7 +149,6 @@ import org.sonar.server.qualityprofile.QProfileExporters;
 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;
@@ -270,7 +269,6 @@ public class PlatformLevel4 extends PlatformLevel {
       OldRestoreAction.class,
       RuleActivator.class,
       QProfileExporters.class,
-      QProfileService.class,
       RuleActivatorContextFactory.class,
       QProfileFactory.class,
       QProfileCopier.class,
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java
deleted file mode 100644 (file)
index 4bd22cc..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2017 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package org.sonar.server.qualityprofile;
-
-import javax.annotation.Nullable;
-import org.sonar.api.server.ServerSide;
-import org.sonar.server.organization.DefaultOrganizationProvider;
-import org.sonar.server.rule.index.RuleQuery;
-import org.sonar.server.user.UserSession;
-
-import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
-
-@ServerSide
-public class QProfileService {
-
-  private final RuleActivator ruleActivator;
-  private final UserSession userSession;
-  private final DefaultOrganizationProvider defaultOrganizationProvider;
-
-  public QProfileService(RuleActivator ruleActivator, UserSession userSession, DefaultOrganizationProvider defaultOrganizationProvider) {
-    this.ruleActivator = ruleActivator;
-    this.userSession = userSession;
-    this.defaultOrganizationProvider = defaultOrganizationProvider;
-  }
-
-  public BulkChangeResult bulkActivate(RuleQuery ruleQuery, String profile, @Nullable String severity) {
-    verifyAdminPermission();
-    return ruleActivator.bulkActivate(ruleQuery, profile, severity);
-  }
-
-  public BulkChangeResult bulkDeactivate(RuleQuery ruleQuery, String profile) {
-    verifyAdminPermission();
-    return ruleActivator.bulkDeactivate(ruleQuery, profile);
-  }
-
-  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());
-  }
-}
index 991b793d3a23427ba1b2ca33a6a5a7cdcae53734..fd6433c8dc6cf8cf19135433f6f39349908b48b4 100644 (file)
@@ -398,7 +398,7 @@ public class RuleActivator {
     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 {
@@ -428,7 +428,7 @@ public class RuleActivator {
     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 {
index 77b79a3b91eff87a13290de5b6472041aa0cb6ea..28f2f0a1982df0403dc03179c6c54deafad3e6b6 100644 (file)
@@ -24,10 +24,13 @@ import org.sonar.api.server.ServerSide;
 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
@@ -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) {
@@ -68,10 +76,15 @@ public class ActivateRulesAction implements QProfileWsAction {
 
   @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());
+  }
 }
index e69773d43811fa1454de472ce03d8f5483508c30..be93acf8306e04dd7f5290c0b619dd58275843ff 100644 (file)
@@ -23,10 +23,13 @@ import org.sonar.api.server.ServerSide;
 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
@@ -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) {
@@ -63,9 +71,15 @@ public class DeactivateRulesAction implements QProfileWsAction {
 
   @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());
+  }
 }
index ac5139210877acd9e44904107df4f3cc567d0703..f9ef186ac91ba988fe3df279e0c11b94cdc70d56 100644 (file)
@@ -27,7 +27,6 @@ import org.sonar.db.DbClient;
 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;
 
@@ -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
index c7196df1ab1ab1e9a394c2ef6251af134466c7cd..777a71ba454ce903640386c5090d0f7d0c1d0581 100644 (file)
@@ -27,7 +27,6 @@ import org.sonar.db.DbClient;
 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;
 
@@ -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
index 6a4167001ecf3cd3827af43aaef55e557b266906..c7b486efafe27445dd0edea9791605c1e2b84e11 100644 (file)
@@ -45,7 +45,6 @@ import org.sonar.server.exceptions.NotFoundException;
 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;
@@ -76,7 +75,6 @@ public class InheritanceActionTest {
   private InheritanceAction underTest;
   private WsActionTester wsActionTester;
   private RuleActivator ruleActivator;
-  private QProfileService service;
   private OrganizationDto organization;
 
   @Before
@@ -101,10 +99,6 @@ public class InheritanceActionTest {
       new TypeValidations(new ArrayList<>()),
       activeRuleIndexer,
       userSession);
-    service = new QProfileService(
-      ruleActivator,
-      userSession,
-      defaultOrganizationProvider);
     organization = dbTester.organizations().insert();
   }
 
index 3dd78f48c1ac33b6d3c3d24408c55687c6ee5c88..5a65f3af26341ed88ea218af2cc4297b3da6f6ad 100644 (file)
@@ -33,7 +33,6 @@ import org.sonar.db.DbClient;
 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;
 
@@ -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);