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;
     }