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;
                         }
                     }

Reply via email to