You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2017/03/26 15:03:54 UTC

[2/4] polygene-java git commit: Fix value type lookup in serialization

Fix value type lookup in serialization

POLYGENE-105


Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/7bd93ad6
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/7bd93ad6
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/7bd93ad6

Branch: refs/heads/serialization-3.0
Commit: 7bd93ad6b499dbc57cdb9ad56600513816707a35
Parents: fdb9e97
Author: Paul Merlin <pa...@apache.org>
Authored: Sun Mar 26 17:02:06 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Sun Mar 26 17:02:06 2017 +0200

----------------------------------------------------------------------
 .../apache/polygene/api/type/ValueCompositeType.java    |  6 ++++++
 .../serialization/javaxjson/JavaxJsonDeserializer.java  | 12 +++++++-----
 .../serialization/javaxxml/JavaxXmlDeserializer.java    | 10 +++++-----
 .../messagepack/MessagePackDeserializer.java            | 12 +++++++-----
 4 files changed, 25 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7bd93ad6/core/api/src/main/java/org/apache/polygene/api/type/ValueCompositeType.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/type/ValueCompositeType.java b/core/api/src/main/java/org/apache/polygene/api/type/ValueCompositeType.java
index 9190e68..bbeaf06 100644
--- a/core/api/src/main/java/org/apache/polygene/api/type/ValueCompositeType.java
+++ b/core/api/src/main/java/org/apache/polygene/api/type/ValueCompositeType.java
@@ -24,6 +24,7 @@ import java.util.Objects;
 import java.util.stream.Stream;
 import org.apache.polygene.api.association.AssociationDescriptor;
 import org.apache.polygene.api.property.PropertyDescriptor;
+import org.apache.polygene.api.structure.ModuleDescriptor;
 import org.apache.polygene.api.util.Classes;
 import org.apache.polygene.api.value.ValueComposite;
 import org.apache.polygene.api.value.ValueDescriptor;
@@ -53,6 +54,11 @@ public final class ValueCompositeType extends ValueType
         this.model = model;
     }
 
+    public ModuleDescriptor module()
+    {
+        return model.module();
+    }
+
     public Stream<? extends PropertyDescriptor> properties()
     {
         return model.state().properties();

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7bd93ad6/core/spi/src/main/java/org/apache/polygene/serialization/javaxjson/JavaxJsonDeserializer.java
----------------------------------------------------------------------
diff --git a/core/spi/src/main/java/org/apache/polygene/serialization/javaxjson/JavaxJsonDeserializer.java b/core/spi/src/main/java/org/apache/polygene/serialization/javaxjson/JavaxJsonDeserializer.java
index 4eb7a69..43765c9 100644
--- a/core/spi/src/main/java/org/apache/polygene/serialization/javaxjson/JavaxJsonDeserializer.java
+++ b/core/spi/src/main/java/org/apache/polygene/serialization/javaxjson/JavaxJsonDeserializer.java
@@ -152,7 +152,9 @@ public class JavaxJsonDeserializer extends AbstractTextDeserializer implements J
                 ValueDescriptor valueDescriptor = module.valueDescriptor( typeInfo );
                 if( valueDescriptor != null )
                 {
-                    return (T) deserializeValueComposite( module, valueDescriptor.valueType(), object );
+                    return (T) deserializeValueComposite( valueDescriptor.module(),
+                                                          valueDescriptor.valueType(),
+                                                          object );
                 }
             case STRING:
                 byte[] bytes = Base64.getDecoder().decode( asString( json ).getBytes( UTF_8 ) );
@@ -218,10 +220,10 @@ public class JavaxJsonDeserializer extends AbstractTextDeserializer implements J
         }
         ValueBuilder builder = module.instance().newValueBuilderWithState(
             valueType.primaryType(),
-            propertyFunction( module, json ),
-            associationFunction( module, json ),
-            manyAssociationFunction( module, json ),
-            namedAssociationFunction( module, json ) );
+            propertyFunction( valueType.module(), json ),
+            associationFunction( valueType.module(), json ),
+            manyAssociationFunction( valueType.module(), json ),
+            namedAssociationFunction( valueType.module(), json ) );
         return builder.newInstance();
     }
 

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7bd93ad6/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/JavaxXmlDeserializer.java
----------------------------------------------------------------------
diff --git a/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/JavaxXmlDeserializer.java b/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/JavaxXmlDeserializer.java
index 95da377..8c6bc7b 100644
--- a/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/JavaxXmlDeserializer.java
+++ b/extensions/serialization-javaxxml/src/main/java/org/apache/polygene/serialization/javaxxml/JavaxXmlDeserializer.java
@@ -148,10 +148,10 @@ public class JavaxXmlDeserializer extends AbstractTextDeserializer implements Xm
         }
         ValueBuilder builder = module.instance().newValueBuilderWithState(
             valueType.primaryType(),
-            propertyFunction( module, xml ),
-            associationFunction( module, xml ),
-            manyAssociationFunction( module, xml ),
-            namedAssociationFunction( module, xml ) );
+            propertyFunction( valueType.module(), xml ),
+            associationFunction( valueType.module(), xml ),
+            manyAssociationFunction( valueType.module(), xml ),
+            namedAssociationFunction( valueType.module(), xml ) );
         return builder.newInstance();
     }
 
@@ -307,7 +307,7 @@ public class JavaxXmlDeserializer extends AbstractTextDeserializer implements Xm
             ValueDescriptor valueDescriptor = module.valueDescriptor( typeInfo.get() );
             if( valueDescriptor != null )
             {
-                return deserializeValueComposite( module, valueDescriptor.valueType(), xml );
+                return deserializeValueComposite( valueDescriptor.module(), valueDescriptor.valueType(), xml );
             }
         }
         if( xml.getNodeType() == Node.CDATA_SECTION_NODE )

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/7bd93ad6/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/MessagePackDeserializer.java
----------------------------------------------------------------------
diff --git a/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/MessagePackDeserializer.java b/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/MessagePackDeserializer.java
index 12cba93..402f9bc 100644
--- a/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/MessagePackDeserializer.java
+++ b/extensions/serialization-messagepack/src/main/java/org/apache/polygene/serialization/messagepack/MessagePackDeserializer.java
@@ -210,10 +210,10 @@ public interface MessagePackDeserializer extends Deserializer
 
             ValueBuilder builder = module.instance().newValueBuilderWithState(
                 valueType.primaryType(),
-                propertyFunction( module, namedValues ),
-                associationFunction( module, namedValues ),
-                manyAssociationFunction( module, namedValues ),
-                namedAssociationFunction( module, namedValues ) );
+                propertyFunction( valueType.module(), namedValues ),
+                associationFunction( valueType.module(), namedValues ),
+                manyAssociationFunction( valueType.module(), namedValues ),
+                namedAssociationFunction( valueType.module(), namedValues ) );
             return builder.newInstance();
         }
 
@@ -301,7 +301,9 @@ public interface MessagePackDeserializer extends Deserializer
                         ValueDescriptor valueDescriptor = module.valueDescriptor( typeInfo.get() );
                         if( valueDescriptor != null )
                         {
-                            return deserializeValueComposite( module, valueDescriptor.valueType(), mapValue );
+                            return deserializeValueComposite( valueDescriptor.module(),
+                                                              valueDescriptor.valueType(),
+                                                              mapValue );
                         }
                     }
                 default: