use of org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.User in project sonarqube by SonarSource.
the class NotificationFactory method getAssignee.
@CheckForNull
public User getAssignee(@Nullable String assigneeUuid, Map<String, UserDto> assigneesByUuid) {
if (assigneeUuid == null) {
return null;
}
UserDto dto = assigneesByUuid.get(assigneeUuid);
checkState(dto != null, "Can not find DTO for assignee uuid %s", assigneeUuid);
return new User(dto.getUuid(), dto.getLogin(), dto.getName());
}
use of org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.User in project sonarqube by SonarSource.
the class IssuesChangesNotificationSerializer method readChange.
private static IssuesChangesNotificationBuilder.Change readChange(IssuesChangesNotification notification) {
String dateFieldValue = notification.getFieldValue(FIELD_CHANGE_DATE);
checkState(dateFieldValue != null, "Can not find field %s", FIELD_CHANGE_DATE);
long date = Long.parseLong(dateFieldValue);
String uuid = notification.getFieldValue(FIELD_CHANGE_AUTHOR_UUID);
if (uuid == null) {
return new IssuesChangesNotificationBuilder.AnalysisChange(date);
}
String login = notification.getFieldValue(FIELD_CHANGE_AUTHOR_LOGIN);
checkState(login != null, "Can not find field %s", FIELD_CHANGE_AUTHOR_LOGIN);
return new IssuesChangesNotificationBuilder.UserChange(date, new User(uuid, login, notification.getFieldValue(FIELD_CHANGE_AUTHOR_NAME)));
}
use of org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.User in project sonarqube by SonarSource.
the class IssuesChangesNotificationSerializer method serializeChange.
private static void serializeChange(IssuesChangesNotification notification, IssuesChangesNotificationBuilder.Change change) {
notification.setFieldValue(FIELD_CHANGE_DATE, String.valueOf(change.date));
if (change instanceof IssuesChangesNotificationBuilder.UserChange) {
IssuesChangesNotificationBuilder.UserChange userChange = (IssuesChangesNotificationBuilder.UserChange) change;
User user = userChange.getUser();
notification.setFieldValue(FIELD_CHANGE_AUTHOR_UUID, user.getUuid());
notification.setFieldValue(FIELD_CHANGE_AUTHOR_LOGIN, user.getLogin());
user.getName().ifPresent(name -> notification.setFieldValue(FIELD_CHANGE_AUTHOR_NAME, name));
}
}
use of org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.User in project sonarqube by SonarSource.
the class IssuesChangesNotificationBuilderTest method UserChange_not_equal.
@Test
@UseDataProvider("userData")
public void UserChange_not_equal(Object object) {
long now = System2.INSTANCE.now();
String uuid_1 = "uuid-1";
String login_1 = "login-1";
String name_1 = "name-1";
UserChange userChange1 = new UserChange(now, new User(uuid_1, login_1, name_1));
assertThat(userChange1).isNotEqualTo(object);
}
use of org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.User in project sonarqube by SonarSource.
the class IssuesChangesNotificationBuilderTest method ChangedIssue_toString.
@Test
public void ChangedIssue_toString() {
ChangedIssue changedIssue = new ChangedIssue.Builder("key").setRule(newRule("repository", "key", RuleType.CODE_SMELL, "name")).setProject(new Project.Builder("uuid").setKey("key").setProjectName("name").setBranchName("branch-name").build()).setNewStatus("status").setNewResolution("resolution").setAssignee(new User("uuid", "login", "name")).build();
assertThat(changedIssue).hasToString("ChangedIssue{key='key', newStatus='status', newResolution='resolution', " + "assignee=User{uuid='uuid', login='login', name='name'}, " + "rule=Rule{key=repository:key, type=CODE_SMELL, name='name'}, " + "project=Project{uuid='uuid', key='key', projectName='name', branchName='branch-name'}}");
}
Aggregations