Skip to content

Commit

Permalink
Refactor multilanguage templates
Browse files Browse the repository at this point in the history
  • Loading branch information
yebenes committed Aug 22, 2017
1 parent f550d06 commit da5709b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class NotificationsShell {
domain.id = domainFields.id
domain.templates = domainFields.templates
domain.properties = domainFields.properties
domain.internationalizations = domainFields.internationalizations
domain.multiLanguageTemplates = domainFields.multiLanguageTemplates
domain.developmentMode = domainFields.developmentMode
domain.iosNotificationsCertificate = domainFields.iosNotificationsCertificate
domain.iosNotificationsPassword = domainFields.iosNotificationsPassword
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import org.springframework.data.annotation.Id;

import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;

public class Domain {
Expand All @@ -18,7 +19,7 @@ public class Domain {
private Map<String, String> templates;

@NotNull
private Map<String, Boolean> internationalizations;
private List<String> multiLanguageTemplates;

private Boolean developmentMode;

Expand Down Expand Up @@ -50,12 +51,12 @@ public void setTemplates(Map<String, String> templates) {
this.templates = templates;
}

public Map<String, Boolean> getInternationalizations() {
return internationalizations;
public List<String> getMultiLanguageTemplates() {
return multiLanguageTemplates;
}

public void setInternationalizations(Map<String, Boolean> internationalizations) {
this.internationalizations = internationalizations;
public void setMultiLanguageTemplates(List<String> multiLanguageTemplates) {
this.multiLanguageTemplates = multiLanguageTemplates;
}

public Boolean getDevelopmentMode() {
Expand Down Expand Up @@ -93,8 +94,8 @@ public void updateDomain(Domain domain) {
if(domain.getTemplates()!= null && !domain.getTemplates().isEmpty()) {
setTemplates(domain.getTemplates());
}
if(domain.getInternationalizations()!= null && !domain.getInternationalizations().isEmpty()) {
setInternationalizations(domain.getInternationalizations());
if(domain.getMultiLanguageTemplates() != null && !domain.getMultiLanguageTemplates().isEmpty()) {
setMultiLanguageTemplates(domain.getMultiLanguageTemplates());
}
}

Expand All @@ -108,7 +109,7 @@ public boolean equals(Object o) {
if (id != null ? !id.equals(domain.id) : domain.id != null) return false;
if (properties != null ? !properties.equals(domain.properties) : domain.properties != null) return false;
if (templates != null ? !templates.equals(domain.templates) : domain.templates != null) return false;
if (internationalizations != null ? !internationalizations.equals(domain.internationalizations) : domain.internationalizations != null)
if (multiLanguageTemplates != null ? !multiLanguageTemplates.equals(domain.multiLanguageTemplates) : domain.multiLanguageTemplates != null)
return false;
if (developmentMode != null ? !developmentMode.equals(domain.developmentMode) : domain.developmentMode != null)
return false;
Expand All @@ -122,7 +123,7 @@ public int hashCode() {
int result = id != null ? id.hashCode() : 0;
result = 31 * result + (properties != null ? properties.hashCode() : 0);
result = 31 * result + (templates != null ? templates.hashCode() : 0);
result = 31 * result + (internationalizations != null ? internationalizations.hashCode() : 0);
result = 31 * result + (multiLanguageTemplates != null ? multiLanguageTemplates.hashCode() : 0);
result = 31 * result + (developmentMode != null ? developmentMode.hashCode() : 0);
result = 31 * result + (iosNotificationsCertificate != null ? iosNotificationsCertificate.hashCode() : 0);
result = 31 * result + (iosNotificationsPassword != null ? iosNotificationsPassword.hashCode() : 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ public void sendNotification(String domainId, String notificationId, Map<String,
.map(currentDomain -> getProperties(currentDomain, customProperties))
.orElse(customProperties);

boolean internationalizated = Optional.ofNullable(domain).map(Domain::getInternationalizations)
.map(i -> i.get(notificationId)).orElse(false);
boolean multiLanguageTemplate = Optional.ofNullable(domain).map(Domain::getMultiLanguageTemplates)
.map(t -> t.contains(notificationId)).orElse(false);

if(internationalizated) {
if(multiLanguageTemplate) {
String lang = properties.getOrDefault(languageProperty, defaultLanguage);
notificationTemplateId = notificationTemplateId + LANGUAGE_SEPARATOR + lang;
}
Expand Down

0 comments on commit da5709b

Please sign in to comment.