You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by sh...@apache.org on 2022/02/09 10:24:26 UTC
[unomi] branch unomi-1.6.x updated: Bug fix for class cast exception
This is an automated email from the ASF dual-hosted git repository.
shuber pushed a commit to branch unomi-1.6.x
in repository https://gitbox.apache.org/repos/asf/unomi.git
The following commit(s) were added to refs/heads/unomi-1.6.x by this push:
new 6345480 Bug fix for class cast exception
6345480 is described below
commit 63454804059fec85f1b71c68f1b43496f20d3bd5
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Wed Feb 9 11:24:21 2022 +0100
Bug fix for class cast exception
---
.../unomi/services/impl/personalization/ControlGroup.java | 10 ++++++++++
.../impl/personalization/PersonalizationServiceImpl.java | 5 +++--
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/services/src/main/java/org/apache/unomi/services/impl/personalization/ControlGroup.java b/services/src/main/java/org/apache/unomi/services/impl/personalization/ControlGroup.java
index 01cbd9c..795080e 100644
--- a/services/src/main/java/org/apache/unomi/services/impl/personalization/ControlGroup.java
+++ b/services/src/main/java/org/apache/unomi/services/impl/personalization/ControlGroup.java
@@ -22,6 +22,7 @@ import org.slf4j.LoggerFactory;
import java.text.ParseException;
import java.util.Date;
+import java.util.LinkedHashMap;
import java.util.Map;
/**
@@ -88,4 +89,13 @@ public class ControlGroup {
public void setTimeStamp(Date timeStamp) {
this.timeStamp = timeStamp;
}
+
+ public Map<String,Object> toMap() {
+ Map<String,Object> result = new LinkedHashMap<>();
+ result.put("id", id);
+ result.put("displayName", displayName);
+ result.put("path", path);
+ result.put("timeStamp", CustomObjectMapper.getObjectMapper().getDateFormat().format(timeStamp));
+ return result;
+ }
}
diff --git a/services/src/main/java/org/apache/unomi/services/impl/personalization/PersonalizationServiceImpl.java b/services/src/main/java/org/apache/unomi/services/impl/personalization/PersonalizationServiceImpl.java
index b5b24cd..1d2cfd7 100644
--- a/services/src/main/java/org/apache/unomi/services/impl/personalization/PersonalizationServiceImpl.java
+++ b/services/src/main/java/org/apache/unomi/services/impl/personalization/PersonalizationServiceImpl.java
@@ -139,11 +139,12 @@ public class PersonalizationServiceImpl implements PersonalizationService {
(String) controlGroupMap.get("path"),
new Date());
controlGroups.add(controlGroup);
+ List<Map<String,Object>> controlGroupsMap = controlGroups.stream().map(ControlGroup::toMap).collect(Collectors.toList());
if (storeInSession) {
- session.setProperty(CONTROL_GROUPS_PROPERTY_NAME, controlGroups);
+ session.setProperty(CONTROL_GROUPS_PROPERTY_NAME, controlGroupsMap);
changeType = EventService.SESSION_UPDATED;
} else {
- profile.setProperty(CONTROL_GROUPS_PROPERTY_NAME, controlGroups);
+ profile.setProperty(CONTROL_GROUPS_PROPERTY_NAME, controlGroupsMap);
changeType = EventService.PROFILE_UPDATED;
}
}