From cef90a32b3dcf0d9242fcbdc394548227221d472 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Lievremont Date: Thu, 11 Jun 2015 16:23:04 +0200 Subject: [PATCH] SONAR-6565 Prevent IllegalStateException from spewing to server log --- .../src/main/java/org/sonar/server/user/UserUpdater.java | 9 ++++++--- .../test/java/org/sonar/server/user/UserUpdaterTest.java | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java b/server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java index 15a34dfea51..6e849793bbc 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java +++ b/server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java @@ -24,6 +24,7 @@ import com.google.common.base.Joiner; import com.google.common.base.Predicate; import com.google.common.base.Strings; import com.google.common.collect.Iterables; +import java.net.HttpURLConnection; import java.security.SecureRandom; import java.util.Arrays; import java.util.List; @@ -44,6 +45,7 @@ import org.sonar.core.user.UserGroupDto; import org.sonar.server.db.DbClient; import org.sonar.server.exceptions.BadRequestException; import org.sonar.server.exceptions.Message; +import org.sonar.server.exceptions.ServerException; import org.sonar.server.user.index.UserIndexer; import org.sonar.server.util.Validation; @@ -313,7 +315,7 @@ public class UserUpdater { private void addDefaultGroup(DbSession dbSession, UserDto userDto) { final String defaultGroup = settings.getString(CoreProperties.CORE_DEFAULT_GROUP); if (defaultGroup == null) { - throw new IllegalStateException(String.format("The default group property '%s' is null", CoreProperties.CORE_DEFAULT_GROUP)); + throw new ServerException(HttpURLConnection.HTTP_INTERNAL_ERROR, String.format("The default group property '%s' is null", CoreProperties.CORE_DEFAULT_GROUP)); } List userGroups = dbClient.groupDao().findByUserLogin(dbSession, userDto.getLogin()); if (!Iterables.any(userGroups, new Predicate() { @@ -324,8 +326,9 @@ public class UserUpdater { })) { GroupDto groupDto = dbClient.groupDao().selectNullableByKey(dbSession, defaultGroup); if (groupDto == null) { - throw new IllegalStateException(String.format("The default group '%s' for new users does not exist. Please update the general security settings to fix this issue.", - defaultGroup)); + throw new ServerException(HttpURLConnection.HTTP_INTERNAL_ERROR, + String.format("The default group '%s' for new users does not exist. Please update the general security settings to fix this issue.", + defaultGroup)); } dbClient.userGroupDao().insert(dbSession, new UserGroupDto().setUserId(userDto.getId()).setGroupId(groupDto.getId())); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/user/UserUpdaterTest.java b/server/sonar-server/src/test/java/org/sonar/server/user/UserUpdaterTest.java index 2a0564f0651..29527c23b81 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/user/UserUpdaterTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/user/UserUpdaterTest.java @@ -43,6 +43,7 @@ import org.sonar.server.db.DbClient; import org.sonar.server.es.EsTester; import org.sonar.server.exceptions.BadRequestException; import org.sonar.server.exceptions.Message; +import org.sonar.server.exceptions.ServerException; import org.sonar.server.user.db.GroupDao; import org.sonar.server.user.db.UserDao; import org.sonar.server.user.db.UserGroupDao; @@ -492,7 +493,7 @@ public class UserUpdaterTest { .setPasswordConfirmation("password") .setScmAccounts(newArrayList("u1", "u_1"))); } catch (Exception e) { - assertThat(e).isInstanceOf(IllegalStateException.class).hasMessage("The default group property 'sonar.defaultGroup' is null"); + assertThat(e).isInstanceOf(ServerException.class).hasMessage("The default group property 'sonar.defaultGroup' is null"); } } @@ -509,7 +510,7 @@ public class UserUpdaterTest { .setPasswordConfirmation("password") .setScmAccounts(newArrayList("u1", "u_1"))); } catch (Exception e) { - assertThat(e).isInstanceOf(IllegalStateException.class) + assertThat(e).isInstanceOf(ServerException.class) .hasMessage("The default group 'polop' for new users does not exist. Please update the general security settings to fix this issue."); } } -- 2.39.5