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 <[email protected]>
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;
}
}