Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 5045172e9 -> f6502c9e5


ATLAS-2275: fix for incorrect serialization of date type trait attributes in 
entity notification


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/f6502c9e
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/f6502c9e
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/f6502c9e

Branch: refs/heads/branch-0.8
Commit: f6502c9e55b34f1ec5c78f7b74384e73bef6ddfa
Parents: 5045172
Author: Madhan Neethiraj <[email protected]>
Authored: Thu Nov 23 02:20:26 2017 -0800
Committer: Madhan Neethiraj <[email protected]>
Committed: Thu Nov 23 02:20:26 2017 -0800

----------------------------------------------------------------------
 .../atlas/notification/AbstractNotification.java       | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/f6502c9e/notification/src/main/java/org/apache/atlas/notification/AbstractNotification.java
----------------------------------------------------------------------
diff --git 
a/notification/src/main/java/org/apache/atlas/notification/AbstractNotification.java
 
b/notification/src/main/java/org/apache/atlas/notification/AbstractNotification.java
index 4f56bd8..3e5880a 100644
--- 
a/notification/src/main/java/org/apache/atlas/notification/AbstractNotification.java
+++ 
b/notification/src/main/java/org/apache/atlas/notification/AbstractNotification.java
@@ -28,6 +28,7 @@ import org.apache.atlas.AtlasException;
 import org.apache.atlas.ha.HAConfiguration;
 import 
org.apache.atlas.notification.AtlasNotificationBaseMessage.CompressionKind;
 import org.apache.atlas.typesystem.IReferenceableInstance;
+import org.apache.atlas.typesystem.IStruct;
 import org.apache.atlas.typesystem.Referenceable;
 import org.apache.atlas.typesystem.json.InstanceSerialization;
 import org.apache.commons.configuration.Configuration;
@@ -85,6 +86,7 @@ public abstract class AbstractNotification implements 
NotificationInterface {
     public static final Gson GSON = new GsonBuilder().
         registerTypeAdapter(IReferenceableInstance.class, new 
ReferenceableSerializer()).
         registerTypeAdapter(Referenceable.class, new 
ReferenceableSerializer()).
+        registerTypeAdapter(IStruct.class, new StructSerializer()).
         registerTypeAdapter(JSONArray.class, new JSONArraySerializer()).
         create();
 
@@ -273,6 +275,17 @@ public abstract class AbstractNotification implements 
NotificationInterface {
     }
 
     /**
+     * Serializer for IStruct.
+     */
+    public static final class StructSerializer implements 
JsonSerializer<IStruct> {
+        @Override
+        public JsonElement serialize(IStruct src, Type typeOfSrc, 
JsonSerializationContext context) {
+            String instanceJson = InstanceSerialization.toJson(src, true);
+            return new JsonParser().parse(instanceJson).getAsJsonObject();
+        }
+    }
+
+    /**
      * Serializer for JSONArray.
      */
     public static final class JSONArraySerializer implements 
JsonSerializer<JSONArray> {

Reply via email to