summaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2019-04-10 11:17:00 +0200
committersonartech <sonartech@sonarsource.com>2019-04-23 10:37:56 +0200
commit0a302ac9af19485e0eb713776c1435bc64dbf8fd (patch)
treeaf85dbeae6aeb1f0790ab84fbceba93d120dbe1e /server/sonar-db-dao
parent7fc90932dcb356e1f4078f1e2c07bf7a4f27bc23 (diff)
downloadsonarqube-0a302ac9af19485e0eb713776c1435bc64dbf8fd.tar.gz
sonarqube-0a302ac9af19485e0eb713776c1435bc64dbf8fd.zip
SONAR-11753 fix DB incompatibility in EmailSubscriberDto
Diffstat (limited to 'server/sonar-db-dao')
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/EmailSubscriberDto.java36
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/permission/AuthorizationDaoTest.java2
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/property/PropertiesDaoTest.java52
3 files changed, 52 insertions, 38 deletions
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/EmailSubscriberDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/EmailSubscriberDto.java
index 7d12c847093..1f790579382 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/EmailSubscriberDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/EmailSubscriberDto.java
@@ -20,19 +20,11 @@
package org.sonar.db;
import java.util.Objects;
-import javax.annotation.concurrent.Immutable;
-@Immutable
public final class EmailSubscriberDto {
- private final String login;
- private final boolean global;
- private final String email;
-
- public EmailSubscriberDto(String login, boolean global, String email) {
- this.login = login;
- this.global = global;
- this.email = email;
- }
+ private String login;
+ private boolean global;
+ private String email;
public String getLogin() {
return login;
@@ -46,6 +38,21 @@ public final class EmailSubscriberDto {
return email;
}
+ public EmailSubscriberDto setLogin(String login) {
+ this.login = login;
+ return this;
+ }
+
+ public EmailSubscriberDto setGlobal(boolean global) {
+ this.global = global;
+ return this;
+ }
+
+ public EmailSubscriberDto setEmail(String email) {
+ this.email = email;
+ return this;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) {
@@ -73,4 +80,11 @@ public final class EmailSubscriberDto {
", email='" + email + '\'' +
'}';
}
+
+ public static EmailSubscriberDto create(String login, boolean global, String email) {
+ return new EmailSubscriberDto()
+ .setLogin(login)
+ .setGlobal(global)
+ .setEmail(email);
+ }
}
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/permission/AuthorizationDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/permission/AuthorizationDaoTest.java
index bd47b6e35d1..a9edaf58a21 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/permission/AuthorizationDaoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/permission/AuthorizationDaoTest.java
@@ -1261,7 +1261,7 @@ public class AuthorizationDaoTest {
}
private static EmailSubscriberDto globalEmailSubscriberOf(UserDto userDto) {
- return new EmailSubscriberDto(userDto.getLogin(), true, emailOf(userDto));
+ return EmailSubscriberDto.create(userDto.getLogin(), true, emailOf(userDto));
}
private static Consumer<UserDto> withEmail(String login) {
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/property/PropertiesDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/property/PropertiesDaoTest.java
index b93f129625d..26106ca6821 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/property/PropertiesDaoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/property/PropertiesDaoTest.java
@@ -207,7 +207,7 @@ public class PropertiesDaoTest {
insertProperty(propertyKeyOf(dispatcherKey, channelKey), "false", projectId, userId4);
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, null))
- .containsOnly(new EmailSubscriberDto("user1", true, emailOf("user1")), new EmailSubscriberDto("user2", true, emailOf("user2")));
+ .containsOnly(EmailSubscriberDto.create("user1", true, emailOf("user1")), EmailSubscriberDto.create("user2", true, emailOf("user2")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, otherChannelKey, null))
.isEmpty();
@@ -240,13 +240,13 @@ public class PropertiesDaoTest {
Set<String> allLogins = of("user1", "user2", "user3", "user4");
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, null, allLogins))
- .containsOnly(new EmailSubscriberDto("user1", true, emailOf("user1")), new EmailSubscriberDto("user2", true, emailOf("user2")));
+ .containsOnly(EmailSubscriberDto.create("user1", true, emailOf("user1")), EmailSubscriberDto.create("user2", true, emailOf("user2")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, null, of("user1", "user2")))
- .containsOnly(new EmailSubscriberDto("user1", true, emailOf("user1")), new EmailSubscriberDto("user2", true, emailOf("user2")));
+ .containsOnly(EmailSubscriberDto.create("user1", true, emailOf("user1")), EmailSubscriberDto.create("user2", true, emailOf("user2")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, null, of("user2")))
- .containsOnly(new EmailSubscriberDto("user2", true, emailOf("user2")));
+ .containsOnly(EmailSubscriberDto.create("user2", true, emailOf("user2")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, null, of("user1")))
- .containsOnly(new EmailSubscriberDto("user1", true, emailOf("user1")));
+ .containsOnly(EmailSubscriberDto.create("user1", true, emailOf("user1")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, null, of()))
.isEmpty();
@@ -283,14 +283,14 @@ public class PropertiesDaoTest {
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, projectKey))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")),
- new EmailSubscriberDto("user2", true, emailOf("user2")), new EmailSubscriberDto("user2", false, "user2@foo"),
- new EmailSubscriberDto("user3", false, emailOf("user3")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")),
+ EmailSubscriberDto.create("user2", true, emailOf("user2")), EmailSubscriberDto.create("user2", false, "user2@foo"),
+ EmailSubscriberDto.create("user3", false, emailOf("user3")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, otherProjectKey))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")),
- new EmailSubscriberDto("user2", true, emailOf("user2")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")),
+ EmailSubscriberDto.create("user2", true, emailOf("user2")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, otherChannelKey, otherProjectKey))
.isEmpty();
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), otherDispatcherKey, channelKey, otherProjectKey))
@@ -323,24 +323,24 @@ public class PropertiesDaoTest {
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, projectKey, allLogins))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")),
- new EmailSubscriberDto("user2", true, emailOf("user2")), new EmailSubscriberDto("user2", false, "user2@foo"),
- new EmailSubscriberDto("user3", false, emailOf("user3")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")),
+ EmailSubscriberDto.create("user2", true, emailOf("user2")), EmailSubscriberDto.create("user2", false, "user2@foo"),
+ EmailSubscriberDto.create("user3", false, emailOf("user3")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, projectKey, of("user1")))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, projectKey, of("user2")))
.containsOnly(
- new EmailSubscriberDto("user2", true, emailOf("user2")), new EmailSubscriberDto("user2", false, "user2@foo"));
+ EmailSubscriberDto.create("user2", true, emailOf("user2")), EmailSubscriberDto.create("user2", false, "user2@foo"));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, projectKey, of("user3")))
- .containsOnly(new EmailSubscriberDto("user3", false, emailOf("user3")));
+ .containsOnly(EmailSubscriberDto.create("user3", false, emailOf("user3")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, projectKey, of()))
.isEmpty();
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, otherProjectKey, allLogins))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")),
- new EmailSubscriberDto("user2", true, emailOf("user2")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")),
+ EmailSubscriberDto.create("user2", true, emailOf("user2")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, otherChannelKey, otherProjectKey, allLogins))
.isEmpty();
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), otherDispatcherKey, channelKey, otherProjectKey, allLogins))
@@ -368,12 +368,12 @@ public class PropertiesDaoTest {
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, projectKey))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")), new EmailSubscriberDto("user1", false, emailOf("user1")),
- new EmailSubscriberDto("user3", true, emailOf("user3")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")), EmailSubscriberDto.create("user1", false, emailOf("user1")),
+ EmailSubscriberDto.create("user3", true, emailOf("user3")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, null))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")),
- new EmailSubscriberDto("user3", true, emailOf("user3")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")),
+ EmailSubscriberDto.create("user3", true, emailOf("user3")));
}
@Test
@@ -398,12 +398,12 @@ public class PropertiesDaoTest {
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, projectKey, allLogins))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")), new EmailSubscriberDto("user1", false, emailOf("user1")),
- new EmailSubscriberDto("user3", true, emailOf("user3")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")), EmailSubscriberDto.create("user1", false, emailOf("user1")),
+ EmailSubscriberDto.create("user3", true, emailOf("user3")));
assertThat(underTest.findEmailSubscribersForNotification(db.getSession(), dispatcherKey, channelKey, null, allLogins))
.containsOnly(
- new EmailSubscriberDto("user1", true, emailOf("user1")),
- new EmailSubscriberDto("user3", true, emailOf("user3")));
+ EmailSubscriberDto.create("user1", true, emailOf("user1")),
+ EmailSubscriberDto.create("user3", true, emailOf("user3")));
}
@Test