diff --git a/src/main/java/net/geant/nmaas/notifications/MailAttributes.java b/src/main/java/net/geant/nmaas/notifications/MailAttributes.java
index f1b75485d408c9176f40947ec008639750c35fa7..c4bb34d20a870f9cc54e119051f78800d766a287 100644
--- a/src/main/java/net/geant/nmaas/notifications/MailAttributes.java
+++ b/src/main/java/net/geant/nmaas/notifications/MailAttributes.java
@@ -24,11 +24,11 @@ public class MailAttributes implements Serializable {
private MailType mailType;
@Builder.Default
- private Map<String, String> otherAttributes = new HashMap<>();
+ private Map<String, Object> otherAttributes = new HashMap<>();
@Builder
@SuppressWarnings("unused")
- private MailAttributes(List<UserView> addressees, MailType mailType, Map<String, String> otherAttributes){
+ private MailAttributes(List<UserView> addressees, MailType mailType, Map<String, Object> otherAttributes){
this.addressees = addressees;
this.mailType = mailType;
this.otherAttributes = Optional.ofNullable(otherAttributes).orElse(this.otherAttributes);
diff --git a/src/main/java/net/geant/nmaas/notifications/NotificationManager.java b/src/main/java/net/geant/nmaas/notifications/NotificationManager.java
index e90dbe1ecc16faaa02a03474038ee21db857d584..08237b437663e5036971776a92129edc27e395ef 100644
--- a/src/main/java/net/geant/nmaas/notifications/NotificationManager.java
+++ b/src/main/java/net/geant/nmaas/notifications/NotificationManager.java
@@ -142,9 +142,9 @@ public class NotificationManager {
mailAttributes.setAddressees(userService.findAllUsersWithAdminRole());
}
if (mailAttributes.getMailType().equals(MailType.APP_DEPLOYED)) {
- mailAttributes.setAddressees(domainService.findUsersWithDomainAdminRole(mailAttributes.getOtherAttributes().get("domainName")));
+ mailAttributes.setAddressees(domainService.findUsersWithDomainAdminRole((String)mailAttributes.getOtherAttributes().get("domainName")));
if (mailAttributes.getAddressees().stream().noneMatch(user -> user.getUsername().equals(mailAttributes.getOtherAttributes().get("owner")))) {
- userService.findByUsername(mailAttributes.getOtherAttributes().get("owner"))
+ userService.findByUsername((String)mailAttributes.getOtherAttributes().get("owner"))
.ifPresent(user -> mailAttributes.getAddressees().add(modelMapper.map(user, UserView.class)));
}
}
@@ -156,7 +156,7 @@ public class NotificationManager {
}
if (Arrays.asList(MailType.CONTACT_FORM, MailType.ISSUE_REPORT, MailType.NEW_DOMAIN_REQUEST).contains(mailAttributes.getMailType())) {
List<UserView> base = userService.findAllUsersWithAdminRole();
- Optional<String> contactFormKey = Optional.ofNullable(mailAttributes.getOtherAttributes().get("subType"));
+ Optional<String> contactFormKey = Optional.ofNullable((String)mailAttributes.getOtherAttributes().get("subType"));
if (!contactFormKey.isPresent()) {
log.error("Invalid contact form request, subType is null");
} else {
@@ -188,10 +188,10 @@ public class NotificationManager {
*/
private void customizeMessage(LanguageMailContentView mailContent, MailAttributes mailAttributes) {
if (mailAttributes.getMailType().equals(MailType.BROADCAST)) {
- mailContent.setSubject(mailAttributes.getOtherAttributes().getOrDefault(MailTemplateElements.TITLE, "NMAAS: Broadcast message")); //set subject from other params
+ mailContent.setSubject((String)mailAttributes.getOtherAttributes().getOrDefault(MailTemplateElements.TITLE, "NMAAS: Broadcast message")); //set subject from other params
}
if (mailAttributes.getMailType().equals(MailType.CONTACT_FORM)) {
- Optional<String> contactFormKey = Optional.ofNullable(mailAttributes.getOtherAttributes().get("subType"));
+ Optional<String> contactFormKey = Optional.ofNullable((String)mailAttributes.getOtherAttributes().get("subType"));
Optional<FormType> formType = this.formTypeService.findOne(
contactFormKey.orElseThrow(() -> new ProcessingException("Contact form subType not found"))
);
@@ -221,7 +221,7 @@ public class NotificationManager {
ImmutableMap.of("username", user.getFirstname() == null || user.getFirstname().isEmpty() ? user.getUsername() : user.getFirstname()));
}
- private String getContent(String content, Map<String, String> otherAttributes) throws IOException, TemplateException {
+ private String getContent(String content, Map<String, Object> otherAttributes) throws IOException, TemplateException {
return FreeMarkerTemplateUtils.processTemplateIntoString(
new Template(
MailTemplateElements.CONTENT,
diff --git a/src/main/java/net/geant/nmaas/portal/api/market/UsersController.java b/src/main/java/net/geant/nmaas/portal/api/market/UsersController.java
index fae315f468dbbde452a45239d591760119a6545f..6b670618092ba900ac01b853f1c22c15d995c088 100644
--- a/src/main/java/net/geant/nmaas/portal/api/market/UsersController.java
+++ b/src/main/java/net/geant/nmaas/portal/api/market/UsersController.java
@@ -635,7 +635,7 @@ public class UsersController {
return requestRoleList.containsAll(userRoleList) && userRoleList.containsAll(requestRoleList);
}
- private void sendMail(UserView user, MailType mailType, Map<String, String> other) {
+ private void sendMail(UserView user, MailType mailType, Map<String, Object> other) {
MailAttributes mailAttributes = MailAttributes.builder()
.mailType(mailType)
.otherAttributes(other)
diff --git a/src/test/java/net/geant/nmaas/notifications/NotificationManagerTest.java b/src/test/java/net/geant/nmaas/notifications/NotificationManagerTest.java
index 87fb4dcef46c48997407c52069fb6646c735e4fd..c78ec5eba9c99cf8386d9bdbee92bb5876038713 100644
--- a/src/test/java/net/geant/nmaas/notifications/NotificationManagerTest.java
+++ b/src/test/java/net/geant/nmaas/notifications/NotificationManagerTest.java
@@ -122,7 +122,7 @@ public class NotificationManagerTest {
MailAttributes ma = new MailAttributes();
ma.setMailType(MailType.BROADCAST);
- ma.setOtherAttributes(new HashMap<String, String>() {{
+ ma.setOtherAttributes(new HashMap<String, Object>() {{
put("text", "some text");
put(MailTemplateElements.TITLE, "Some Title");
put("username", "MyUser");
@@ -140,7 +140,7 @@ public class NotificationManagerTest {
public void shouldSendHealthCheckEmail() {
MailAttributes ma = new MailAttributes();
ma.setMailType(MailType.EXTERNAL_SERVICE_HEALTH_CHECK);
- ma.setOtherAttributes(new HashMap<String, String>() {{
+ ma.setOtherAttributes(new HashMap<String, Object>() {{
put("text", "text");
put("username", "MyUser");
}});
@@ -156,7 +156,7 @@ public class NotificationManagerTest {
public void shouldSendAppDeployedEmailToAdminWhenOwnerIsAdmin() {
MailAttributes ma = new MailAttributes();
ma.setMailType(MailType.APP_DEPLOYED);
- ma.setOtherAttributes(new HashMap<String, String>() {{
+ ma.setOtherAttributes(new HashMap<String, Object>() {{
put("text", "text");
put("username", "MyUser");
put("owner", "admin");
@@ -173,7 +173,7 @@ public class NotificationManagerTest {
public void shouldSendAppDeployedEmailToAdminAndOrdinaryWhenOwnerIsOrdinary() {
MailAttributes ma = new MailAttributes();
ma.setMailType(MailType.APP_DEPLOYED);
- ma.setOtherAttributes(new HashMap<String, String>() {{
+ ma.setOtherAttributes(new HashMap<String, Object>() {{
put("text", "text");
put("username", "MyUser");
put("owner", "ordinary");
@@ -192,7 +192,7 @@ public class NotificationManagerTest {
public void shouldThrowExceptionWhenCannotFindTemplateWithMatchingLanguage() {
MailAttributes ma = new MailAttributes();
ma.setMailType(MailType.REGISTRATION);
- ma.setOtherAttributes(new HashMap<String, String>() {{
+ ma.setOtherAttributes(new HashMap<String, Object>() {{
put("text", "text");
put("username", "MyUser");
}});
@@ -210,7 +210,7 @@ public class NotificationManagerTest {
public void shouldSendContactForm() {
MailAttributes ma = new MailAttributes();
ma.setMailType(MailType.CONTACT_FORM);
- ma.setOtherAttributes(new HashMap<String, String>() {{
+ ma.setOtherAttributes(new HashMap<String, Object>() {{
put("text", "text");
put("subType", "CONTACT");
}});
@@ -235,7 +235,7 @@ public class NotificationManagerTest {
public void shouldSendAppDeploymentFailedEmail() {
MailAttributes ma = new MailAttributes();
ma.setMailType(MailType.APP_DEPLOYMENT_FAILED);
- ma.setOtherAttributes(new HashMap<String, String>() {{
+ ma.setOtherAttributes(new HashMap<String, Object>() {{
put("text", "text");
put("username", "MyUser");
put("owner", "ordinary");
@@ -265,7 +265,7 @@ public class NotificationManagerTest {
public void shouldThrowExceptionWhenTemplateServiceThrowsException() throws IOException {
MailAttributes ma = new MailAttributes();
ma.setMailType(MailType.APP_DEPLOYED);
- ma.setOtherAttributes(new HashMap<String, String>() {{
+ ma.setOtherAttributes(new HashMap<String, Object>() {{
put("text", "text");
put("username", "MyUser");
put("owner", "ordinary");