This is an automated email from the ASF dual-hosted git repository.

dgriffon 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 2bb8be841 UNOMI-562 :  fix deserializers (#415)
2bb8be841 is described below

commit 2bb8be841a781908502c2fb80d8905fd3236dd0e
Author: David Griffon <[email protected]>
AuthorDate: Fri May 6 09:46:38 2022 +0200

    UNOMI-562 :  fix deserializers (#415)
    
    * UNOMI-562 : fix event collector deserialization
    
    * restore source in context request deserializer
---
 .../apache/unomi/rest/deserializers/ContextRequestDeserializer.java  | 5 +++++
 .../unomi/rest/deserializers/EventsCollectorRequestDeserializer.java | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
 
b/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
index 1dcb653b8..ad3394596 100644
--- 
a/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
+++ 
b/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
@@ -24,6 +24,7 @@ import 
com.fasterxml.jackson.databind.deser.std.StdDeserializer;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import org.apache.unomi.api.ContextRequest;
 import org.apache.unomi.api.Event;
+import org.apache.unomi.api.Item;
 import org.apache.unomi.api.Profile;
 import org.apache.unomi.api.services.PersonalizationService;
 import org.apache.unomi.api.services.SchemaService;
@@ -58,6 +59,10 @@ public class ContextRequestDeserializer extends 
StdDeserializer<ContextRequest>
             throw new InvalidRequestException("Invalid Context request 
object", "Invalid received data");
         }
         ContextRequest cr = new ContextRequest();
+        if (node.get("source") != null) {
+            cr.setSource(jsonParser.getCodec().treeToValue(node.get("source"), 
Item.class));
+        }
+
         if (node.get("requireSegments") != null) {
             cr.setRequireSegments(node.get("requireSegments").booleanValue());
         }
diff --git 
a/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
 
b/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
index b544f2089..0f234192e 100644
--- 
a/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
+++ 
b/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
@@ -65,7 +65,10 @@ public class EventsCollectorRequestDeserializer extends 
StdDeserializer<EventsCo
             }
         }
         EventsCollectorRequest eventsCollectorRequest = new 
EventsCollectorRequest();
-        eventsCollectorRequest.setSessionId(node.get("sessionId").textValue());
+        final JsonNode sessionId = node.get("sessionId");
+        if (sessionId != null) {
+            eventsCollectorRequest.setSessionId(sessionId.textValue());
+        }
         eventsCollectorRequest.setEvents(filteredEvents);
         return eventsCollectorRequest;
     }

Reply via email to