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:25:19 UTC

[unomi] branch master 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 master
in repository https://gitbox.apache.org/repos/asf/unomi.git


The following commit(s) were added to refs/heads/master by this push:
     new 6d92f9a  Bug fix for class cast exception
6d92f9a is described below

commit 6d92f9a6e2a7f9e1ae816e0a6aa113805e493c37
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;
                         }
                     }