aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2014-06-09 17:37:47 +0200
committerSimon Brandhof <simon.brandhof@sonarsource.com>2014-06-09 18:06:58 +0200
commit151d1a9baa04c0a067c23c4351c7e7df73dc0d15 (patch)
tree49e0ed9813f579ea70ca31a9d43db0ef6b335079
parent60b19ea78d30f65470a9a2bfa0383ca8d3a2e121 (diff)
downloadsonarqube-151d1a9baa04c0a067c23c4351c7e7df73dc0d15.tar.gz
sonarqube-151d1a9baa04c0a067c23c4351c7e7df73dc0d15.zip
SONAR-5007 add getDefault() to QProfileService
-rw-r--r--sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java22
-rw-r--r--sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java17
-rw-r--r--sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java5
-rw-r--r--sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileLookupTest.java27
-rw-r--r--sonar-server/src/test/java/org/sonar/server/tester/BackendCleanup.java8
5 files changed, 23 insertions, 56 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java
index 1d3657b576d..ae42df99f3a 100644
--- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java
+++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java
@@ -45,6 +45,23 @@ public class QProfileFactory implements ServerComponent {
this.previewCache = previewCache;
}
+ @CheckForNull
+ QualityProfileKey getDefault(String language) {
+ DbSession dbSession = db.openSession(false);
+ try {
+ QualityProfileDto profile = getDefault(dbSession, language);
+ return profile != null ? profile.getKey() : null;
+ } finally {
+ dbSession.close();
+ }
+ }
+
+ @CheckForNull
+ QualityProfileDto getDefault(DbSession session, String language) {
+ return db.qualityProfileDao().selectDefaultProfile(language, PROFILE_PROPERTY_PREFIX + language, session);
+ }
+
+
void setDefault(QualityProfileKey key) {
DbSession dbSession = db.openSession(false);
try {
@@ -66,11 +83,6 @@ public class QProfileFactory implements ServerComponent {
.setValue(profile.getName()));
}
- @CheckForNull
- private QualityProfileDto getDefault(DbSession session, String language) {
- return db.qualityProfileDao().selectDefaultProfile(language, PROFILE_PROPERTY_PREFIX + language, session);
- }
-
void delete(QualityProfileKey key) {
DbSession session = db.openSession(false);
try {
diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java
index 0aa53c0c725..8d890cdab0a 100644
--- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java
+++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java
@@ -148,23 +148,6 @@ public class QProfileLookup implements ServerComponent {
return ancestors;
}
- public boolean isDeletable(QProfile profile, DbSession session) {
- QProfile defaultProfile = defaultProfile(profile.language(), session);
- if (defaultProfile != null && (defaultProfile.id() == profile.id())) {
- return false;
- }
- return countChildren(profile, session) == 0;
- }
-
- public boolean isDeletable(QProfile profile) {
- DbSession session = myBatis.openSession(false);
- try {
- return isDeletable(profile, session);
- } finally {
- MyBatis.closeQuietly(session);
- }
- }
-
private void incrementAncestors(QProfile profile, List<QProfile> ancestors, DbSession session) {
if (profile.parent() != null) {
QualityProfileDto parentDto = dao.selectParent(profile.id(), session);
diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java
index 9e044a0f6a9..41b98160a97 100644
--- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java
+++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java
@@ -193,6 +193,11 @@ public class QProfileService implements ServerComponent {
factory.setDefault(key);
}
+ @CheckForNull
+ public QualityProfileKey getDefault(String language) {
+ return factory.getDefault(language);
+ }
+
private void verifyAdminPermission() {
UserSession.get().checkLoggedIn();
UserSession.get().checkGlobalPermission(GlobalPermissions.QUALITY_PROFILE_ADMIN);
diff --git a/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileLookupTest.java b/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileLookupTest.java
index a4840b63aaf..ffe9d347ef4 100644
--- a/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileLookupTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileLookupTest.java
@@ -183,31 +183,4 @@ public class QProfileLookupTest {
}
}
- @Test
- public void is_deletable_if_not_default_profile_and_have_no_children() throws Exception {
- when(dao.countChildren("Sonar Way", "java", session)).thenReturn(0);
-
- assertThat(search.isDeletable(new QProfile().setId(2).setName("Sonar Way").setLanguage("java"))).isTrue();
- }
-
- @Test
- public void is_not_deletable_if_is_default_profile() throws Exception {
- when(dao.selectDefaultProfile("java", "sonar.profile.java", session)).thenReturn(
- new QualityProfileDto().setId(1).setName("Sonar Way").setLanguage("java")
- );
- when(dao.countChildren("Sonar Way", "java", session)).thenReturn(0);
-
- assertThat(search.isDeletable(new QProfile().setId(1).setName("Sonar Way").setLanguage("java"))).isFalse();
- }
-
- @Test
- public void is_not_deletable_if_have_children() throws Exception {
- when(dao.selectDefaultProfile("java", "sonar.profile.java", session)).thenReturn(
- new QualityProfileDto().setId(1).setName("Sonar Way").setLanguage("java")
- );
- when(dao.countChildren("Sonar Way", "java", session)).thenReturn(1);
-
- assertThat(search.isDeletable(new QProfile().setId(2).setName("Sonar Way").setLanguage("java"))).isFalse();
- }
-
}
diff --git a/sonar-server/src/test/java/org/sonar/server/tester/BackendCleanup.java b/sonar-server/src/test/java/org/sonar/server/tester/BackendCleanup.java
index 71a32dd47b3..96ec59e0543 100644
--- a/sonar-server/src/test/java/org/sonar/server/tester/BackendCleanup.java
+++ b/sonar-server/src/test/java/org/sonar/server/tester/BackendCleanup.java
@@ -21,8 +21,6 @@ package org.sonar.server.tester;
import org.elasticsearch.client.Client;
import org.elasticsearch.index.query.QueryBuilders;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.sonar.api.ServerComponent;
import org.sonar.core.persistence.DatabaseVersion;
import org.sonar.core.persistence.DbSession;
@@ -33,8 +31,6 @@ import java.sql.Connection;
public class BackendCleanup implements ServerComponent {
- private static final Logger LOG = LoggerFactory.getLogger(BackendCleanup.class);
-
private final ESNode esNode;
private final MyBatis myBatis;
@@ -52,7 +48,6 @@ public class BackendCleanup implements ServerComponent {
DbSession dbSession = myBatis.openSession(false);
Connection connection = dbSession.getConnection();
try {
- LOG.info("Truncate db tables");
for (String table : DatabaseVersion.TABLES) {
try {
connection.createStatement().execute("TRUNCATE TABLE " + table.toLowerCase());
@@ -69,10 +64,9 @@ public class BackendCleanup implements ServerComponent {
}
public void clearIndexes() {
- LOG.info("Truncate es indices");
Client client = esNode.client();
client.prepareDeleteByQuery(client.admin().cluster().prepareState().get()
- .getState().getMetaData().concreteAllIndices())
+ .getState().getMetaData().concreteAllIndices())
.setQuery(QueryBuilders.matchAllQuery())
.get();