UNOMI-562 :  fix deserializers (#415)

* UNOMI-562 : fix event collector deserialization

* restore source in context request deserializer
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 1dcb653..ad33945 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.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 @@
             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 b544f20..0f23419 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 @@
             }
         }
         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;
     }