You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/07/14 02:25:16 UTC

[5/9] incubator-usergrid git commit: fix deserialization

fix deserialization


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/68cafb7e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/68cafb7e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/68cafb7e

Branch: refs/heads/two-dot-o-dev
Commit: 68cafb7e878eb853f280b7374f53dfd499b0dcac
Parents: 09873ce
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Jul 13 16:57:51 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Jul 13 16:57:51 2015 -0600

----------------------------------------------------------------------
 .../asyncevents/AmazonAsyncEventService.java    |  2 +-
 .../asyncevents/model/AsyncEvent.java           |  7 ++--
 .../index/ReplicatedIndexLocationStrategy.java  | 38 ++++++++++++++++++--
 .../queue/impl/SNSQueueManagerImpl.java         |  5 +--
 4 files changed, 45 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/68cafb7e/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index 1390058..70eb361 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -235,9 +235,9 @@ public class AmazonAsyncEventService implements AsyncEventService {
                         handleEntityIndexUpdate(message);
                         break;
 
-
                     case APPLICATION_INDEX:
                         handleInitializeApplicationIndex(message);
+                        break;
 
                     default:
                         logger.error("Unknown EventType: {}", event.getEventType());

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/68cafb7e/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
index 3fabc1c..3d22986 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/model/AsyncEvent.java
@@ -21,7 +21,9 @@ package org.apache.usergrid.corepersistence.asyncevents.model;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import org.apache.usergrid.corepersistence.index.ReplicatedIndexLocationStrategy;
 import org.apache.usergrid.persistence.collection.serialization.impl.migration.EntityIdScope;
 import org.apache.usergrid.persistence.core.scope.ApplicationScope;
 import org.apache.usergrid.persistence.graph.Edge;
@@ -136,10 +138,11 @@ public class AsyncEvent implements Serializable {
         this.applicationScope = applicationScope;
     }
 
-    @JsonSerialize
+    @JsonSerialize()
+    @JsonDeserialize(as=ReplicatedIndexLocationStrategy.class)
     public IndexLocationStrategy getIndexLocationStrategy() { return indexLocationStrategy; }
 
-    public void setIndexLocationStrategy( IndexLocationStrategy indexLocationStrategy ){
+    protected void setIndexLocationStrategy( IndexLocationStrategy indexLocationStrategy ){
         this.indexLocationStrategy = indexLocationStrategy;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/68cafb7e/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReplicatedIndexLocationStrategy.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReplicatedIndexLocationStrategy.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReplicatedIndexLocationStrategy.java
index b404a78..e1b6b9e 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReplicatedIndexLocationStrategy.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReplicatedIndexLocationStrategy.java
@@ -19,6 +19,8 @@
  */
 package org.apache.usergrid.corepersistence.index;
 
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import org.apache.usergrid.persistence.core.scope.ApplicationScope;
 import org.apache.usergrid.persistence.index.IndexAlias;
 import org.apache.usergrid.persistence.index.IndexLocationStrategy;
@@ -28,7 +30,7 @@ import org.apache.usergrid.persistence.index.IndexLocationStrategy;
  */
 public class ReplicatedIndexLocationStrategy implements IndexLocationStrategy {
 
-    private ReplicatedIndexAlias alias;
+    private IndexAlias alias;
     private String rootName;
     private String indexInitialName;
     private ApplicationScope applicationScope;
@@ -49,35 +51,65 @@ public class ReplicatedIndexLocationStrategy implements IndexLocationStrategy {
     }
 
     @Override
+    @JsonSerialize()
+    @JsonDeserialize(as=ReplicatedIndexAlias.class)
     public IndexAlias getAlias() {
         return alias;
     }
 
+    protected void setAlias(IndexAlias alias) {
+        this.alias = alias;
+    }
+
+
     @Override
+    @JsonSerialize()
     public String getIndexRootName() {
         return rootName;
     }
+    protected void setIndexRootName(String indexRootName) {
+        this.rootName = indexRootName;
+    }
 
     @Override
+    @JsonSerialize()
     public String getIndexInitialName() {
         return indexInitialName;
     }
 
+    protected void setIndexInitialName(String indexInitialName) {
+        this.indexInitialName = indexInitialName;
+    }
+
+
     @Override
+    @JsonSerialize()
     public ApplicationScope getApplicationScope() {
         return applicationScope;
     }
 
+    protected void setApplicationScope(ApplicationScope applicationScope) {
+        this.applicationScope = applicationScope;
+    }
+
+
     @Override
+    @JsonSerialize()
     public int getNumberOfShards() {
         return numberShards;
     }
-
+    public void setNumberOfShards(int shards) {
+        numberShards = shards;
+    }
     @Override
+    @JsonSerialize()
     public int getNumberOfReplicas() {
         return numberReplicas;
     }
 
+    public void setNumberOfReplicas(int replicas) {
+        numberReplicas = replicas;
+    }
     public static class ReplicatedIndexAlias implements IndexAlias{
 
         private String readAlias;
@@ -91,11 +123,13 @@ public class ReplicatedIndexLocationStrategy implements IndexLocationStrategy {
             this.writeAlias = alias.getWriteAlias();
         }
         @Override
+        @JsonSerialize()
         public String getReadAlias() {
             return readAlias;
         }
 
         @Override
+        @JsonSerialize()
         public String getWriteAlias() {
             return writeAlias;
         }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/68cafb7e/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
index 257f25e..1214a39 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
@@ -321,7 +321,8 @@ public class SNSQueueManagerImpl implements QueueManager {
                 Object body;
 
                 try {
-                    JsonNode bodyObj = mapper.readTree(message.getBody()).get("Message");
+                    final JsonNode bodyNode =  mapper.readTree(message.getBody());
+                    JsonNode bodyObj = bodyNode.has("Message") ? bodyNode.get("Message") : bodyNode;
                     body = fromString(bodyObj.textValue(), klass);
                 } catch (Exception e) {
                     logger.error(String.format("failed to deserialize message: %s", message.getBody()), e);
@@ -371,7 +372,7 @@ public class SNSQueueManagerImpl implements QueueManager {
 
         if (logger.isDebugEnabled()) logger.debug("Publishing Message...{} to arn: {}", stringBody, topicArn);
 
-        PublishRequest publishRequest = new PublishRequest(topicArn, toString(body));
+        PublishRequest publishRequest = new PublishRequest(topicArn, stringBody);
 
         sns.publishAsync(publishRequest, new AsyncHandler<PublishRequest, PublishResult>() {
                 @Override