You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by to...@apache.org on 2015/07/14 19:10:14 UTC
[09/14] 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/observable-query-fix
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