From 4cd77ed829e4e1d1a255503b378b8cb4c8d6a3ab Mon Sep 17 00:00:00 2001 From: johnniang Date: Sun, 21 Apr 2019 09:32:08 +0800 Subject: [PATCH] Disallow to return some settings that aren't in theme configuration --- .../java/run/halo/app/event/LogEvent.java | 19 +++++++++++++++++++ .../service/impl/ThemeSettingServiceImpl.java | 14 ++++++-------- 2 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 src/main/java/run/halo/app/event/LogEvent.java diff --git a/src/main/java/run/halo/app/event/LogEvent.java b/src/main/java/run/halo/app/event/LogEvent.java new file mode 100644 index 000000000..72dccf3a1 --- /dev/null +++ b/src/main/java/run/halo/app/event/LogEvent.java @@ -0,0 +1,19 @@ +package run.halo.app.event; + +import org.springframework.context.ApplicationEvent; + +/** + * @author johnniang + * @date 19-4-20 + */ +public class LogEvent extends ApplicationEvent { + + /** + * Create a new ApplicationEvent. + * + * @param source the object on which the event initially occurred (never {@code null}) + */ + public LogEvent(Object source) { + super(source); + } +} diff --git a/src/main/java/run/halo/app/service/impl/ThemeSettingServiceImpl.java b/src/main/java/run/halo/app/service/impl/ThemeSettingServiceImpl.java index d6fa4ac6c..161a72d9c 100644 --- a/src/main/java/run/halo/app/service/impl/ThemeSettingServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/ThemeSettingServiceImpl.java @@ -115,19 +115,17 @@ public class ThemeSettingServiceImpl extends AbstractCrudService { - Item item = itemMap.get(themeSetting.getKey()); - - - // Convert data to corresponding data type String key = themeSetting.getKey(); - Object convertedValue = themeSetting.getValue(); + Item item = itemMap.get(key); - if (item != null) { - convertedValue = item.getDataType().convertTo(themeSetting.getValue()); - log.debug("Converted user-defined data from [{}] to [{}], type: [{}]", themeSetting.getValue(), convertedValue, item.getDataType()); + if (item == null) { + return; } + Object convertedValue = item.getDataType().convertTo(themeSetting.getValue()); + log.debug("Converted user-defined data from [{}] to [{}], type: [{}]", themeSetting.getValue(), convertedValue, item.getDataType()); + result.put(key, convertedValue); });