You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/04/07 22:22:04 UTC
[13/28] git commit: Added newest version of jackson into model
classes. Added fix for serializing Location values.
Added newest version of jackson into model classes.
Added fix for serializing Location values.
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/8c3b28e3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/8c3b28e3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/8c3b28e3
Branch: refs/heads/two-dot-o
Commit: 8c3b28e37bd423f6a1bbe09d9f21a087f78d1100
Parents: 96ca52e
Author: grey <gr...@apigee.com>
Authored: Tue Mar 18 15:46:43 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Tue Mar 18 15:46:43 2014 -0700
----------------------------------------------------------------------
.../MvccEntitySerializationStrategyImpl.java | 16 ++++++----
...MvccEntitySerializationStrategyImplTest.java | 5 ---
stack/corepersistence/model/pom.xml | 33 ++++++++++++++++++++
.../persistence/model/entity/Entity.java | 3 +-
.../model/field/value/EntityObject.java | 10 +++---
.../persistence/model/field/value/Location.java | 12 +++++--
6 files changed, 59 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8c3b28e3/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
index 5d95fa5..3b5b504 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
@@ -26,11 +26,6 @@ import java.util.Collections;
import java.util.List;
import java.util.UUID;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.smile.SmileFactory;
-
import org.apache.cassandra.db.marshal.BytesType;
import org.apache.cassandra.db.marshal.ReversedType;
import org.apache.cassandra.db.marshal.UUIDType;
@@ -49,6 +44,10 @@ import org.apache.usergrid.persistence.collection.util.EntityUtils;
import org.apache.usergrid.persistence.model.entity.Entity;
import org.apache.usergrid.persistence.model.entity.Id;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.smile.SmileFactory;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.inject.Inject;
@@ -68,6 +67,11 @@ import com.netflix.astyanax.serializers.ByteBufferSerializer;
import com.netflix.astyanax.serializers.BytesArraySerializer;
import com.netflix.astyanax.serializers.UUIDSerializer;
+//import org.codehaus.jackson.JsonGenerationException;
+//import org.codehaus.jackson.map.JsonMappingException;
+//import org.codehaus.jackson.map.ObjectMapper;
+//import org.codehaus.jackson.smile.SmileFactory;
+
/**
* @author tnine
@@ -306,7 +310,7 @@ public class MvccEntitySerializationStrategyImpl implements MvccEntitySerializat
CompositeBuilder builder = Composites.newCompositeBuilder();
builder.addBytes( VERSION );
-
+ //mapper.enableDefaultTyping();
//mark this version as empty
if ( !wrapper.entity.isPresent() ) {
//we're empty
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8c3b28e3/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImplTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImplTest.java b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImplTest.java
index f26dd2b..db9b9ef 100644
--- a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImplTest.java
+++ b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImplTest.java
@@ -294,14 +294,10 @@ public class MvccEntitySerializationStrategyImplTest {
EntityUtils.setVersion( entity, version );
-
BooleanField boolField = new BooleanField( "boolean", false );
-
entity.setField( boolField );
-
-
MvccEntity saved = new MvccEntityImpl( id, version, MvccEntity.Status.COMPLETE, Optional.of( entity ) );
@@ -332,7 +328,6 @@ public class MvccEntitySerializationStrategyImplTest {
assertEquals( 1, results.size() );
-
assertEquals( id, entity.getId() );
assertEquals( version, entity.getVersion() );
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8c3b28e3/stack/corepersistence/model/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/model/pom.xml b/stack/corepersistence/model/pom.xml
index 8a7af5b..7df87af 100644
--- a/stack/corepersistence/model/pom.xml
+++ b/stack/corepersistence/model/pom.xml
@@ -11,6 +11,10 @@
<artifactId>model</artifactId>
+ <properties>
+ <jackson-2-version>2.3.1</jackson-2-version>
+ </properties>
+
<!-- Runtime Dependencies -->
<dependencies>
@@ -41,6 +45,35 @@
<scope>test</scope>
</dependency>
+ <!-- the core, which includes Streaming API, shared low-level abstractions (but NOT data-binding) -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>${jackson-2-version}</version>
+ </dependency>
+
+ <!-- Just the annotations; use this dependency if you want to attach annotations
+ to classes without connecting them to the code. -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ <version>${jackson-2-version}</version>
+ </dependency>
+
+ <!-- databinding; ObjectMapper, JsonNode and related classes are here -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>${jackson-2-version}</version>
+ </dependency>
+
+ <!-- smile (binary JSON). Other artifacts in this group do other formats. -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.dataformat</groupId>
+ <artifactId>jackson-dataformat-smile</artifactId>
+ <version>${jackson-2-version}</version>
+ </dependency>
+
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8c3b28e3/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/Entity.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/Entity.java b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/Entity.java
index 1444961..26149e7 100644
--- a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/Entity.java
+++ b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/Entity.java
@@ -21,10 +21,11 @@ package org.apache.usergrid.persistence.model.entity;
import java.util.UUID;
-import org.codehaus.jackson.annotate.JsonIgnore;
+//import org.codehaus.jackson.annotate.JsonIgnore;
import org.apache.usergrid.persistence.model.field.value.EntityObject;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.base.Preconditions;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8c3b28e3/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/EntityObject.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/EntityObject.java b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/EntityObject.java
index 331516e..69edfcb 100644
--- a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/EntityObject.java
+++ b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/EntityObject.java
@@ -24,13 +24,13 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
-import org.codehaus.jackson.annotate.JsonAnyGetter;
-import org.codehaus.jackson.annotate.JsonAnySetter;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
-
import org.apache.usergrid.persistence.model.field.Field;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+
/**
* Simple wrapper for holding nested objects
*/
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8c3b28e3/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/Location.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/Location.java b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/Location.java
index 224c750..82e7c3e 100644
--- a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/Location.java
+++ b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/value/Location.java
@@ -20,15 +20,21 @@ package org.apache.usergrid.persistence.model.field.value;
import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+
/**
* Geographic point. Should be used when we want to store geo information
*/
+//@JsonTypeInfo( use= JsonTypeInfo.Id.CLASS,include= JsonTypeInfo.As.WRAPPER_OBJECT,property="@class" )
public class Location implements Serializable {
- private final double latitude;
- private final double longtitude;
+ private double latitude;
+ private double longtitude;
- public Location( double latitude, double longtitude ) {
+ @JsonCreator
+ public Location(@JsonProperty("latitude") double latitude,@JsonProperty("longtitude") double longtitude ) {
this.latitude = latitude;
this.longtitude = longtitude;
}