Fix custom config for custom notification handlers
This commit is contained in:
@@ -35,7 +35,7 @@ public class NotificationConfig {
|
|||||||
private transient final Logger log = LoggerFactory.getLogger(NotificationConfig.class);
|
private transient final Logger log = LoggerFactory.getLogger(NotificationConfig.class);
|
||||||
|
|
||||||
private Map<String, String> handler = new HashMap<>();
|
private Map<String, String> handler = new HashMap<>();
|
||||||
private Map<String, JsonObject> handlers = new HashMap<>();
|
private Map<String, Object> handlers = new HashMap<>();
|
||||||
|
|
||||||
public NotificationConfig() {
|
public NotificationConfig() {
|
||||||
handler.put(ThreePidMedium.Email.getId(), EmailRawNotificationHandler.ID);
|
handler.put(ThreePidMedium.Email.getId(), EmailRawNotificationHandler.ID);
|
||||||
@@ -50,11 +50,11 @@ public class NotificationConfig {
|
|||||||
this.handler = handler;
|
this.handler = handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, JsonObject> getHandlers() {
|
public Map<String, Object> getHandlers() {
|
||||||
return handlers;
|
return handlers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHandlers(Map<String, JsonObject> handlers) {
|
public void setHandlers(Map<String, Object> handlers) {
|
||||||
this.handlers = handlers;
|
this.handlers = handlers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -94,9 +94,9 @@ public class BuiltInNotificationHandlerSupplier implements NotificationHandlerSu
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.equals(EmailSendGridNotificationHandler.ID, handler)) {
|
if (StringUtils.equals(EmailSendGridNotificationHandler.ID, handler)) {
|
||||||
JsonObject cfgJson = mxisd.getConfig().getNotification().getHandlers().get(EmailSendGridNotificationHandler.ID);
|
Object cfgJson = mxisd.getConfig().getNotification().getHandlers().get(EmailSendGridNotificationHandler.ID);
|
||||||
if (Objects.nonNull(cfgJson)) {
|
if (Objects.nonNull(cfgJson)) {
|
||||||
EmailSendGridConfig cfg = GsonUtil.get().fromJson(cfgJson, EmailSendGridConfig.class);
|
EmailSendGridConfig cfg = GsonUtil.get().fromJson(GsonUtil.get().toJson(cfgJson), EmailSendGridConfig.class);
|
||||||
NotificationHandlers.register(() -> new EmailSendGridNotificationHandler(mxisd.getConfig(), cfg));
|
NotificationHandlers.register(() -> new EmailSendGridNotificationHandler(mxisd.getConfig(), cfg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user