Преглед изворни кода

Moved readOnly check to GraphNavigator

Ruud Kamphuis пре 13 година
родитељ
комит
c4bdee40ee

+ 0 - 4
Serializer/GenericDeserializationVisitor.php

@@ -173,10 +173,6 @@ abstract class GenericDeserializationVisitor extends AbstractDeserializationVisi
             return;
         }
 
-        if ($metadata->readOnly) {
-	        return;
-	    }
-
         if (!$metadata->type) {
             throw new RuntimeException(sprintf('You must define a type for %s::$%s.', $metadata->reflection->getDeclaringClass()->getName(), $metadata->name));
         }

+ 4 - 0
Serializer/GraphNavigator.php

@@ -114,6 +114,10 @@ final class GraphNavigator
                     continue;
                 }
 
+		        if (self::DIRECTION_DESERIALIZATION === $this->direction && $propertyMetadata->readOnly) {
+			        continue;
+			    }
+
                 // try custom handler
                 if (!$visitor->visitPropertyUsingCustomHandler($propertyMetadata, $data)) {
                     $visitor->visitProperty($propertyMetadata, $data);

+ 1 - 5
Serializer/XmlDeserializationVisitor.php

@@ -196,11 +196,7 @@ class XmlDeserializationVisitor extends AbstractDeserializationVisitor
     public function visitProperty(PropertyMetadata $metadata, $data)
     {
         $name = $this->namingStrategy->translateName($metadata);
-        
-        if ($metadata->readOnly) {
-	        return;
-	    }
-	
+
         if (!$metadata->type) {
             throw new RuntimeException(sprintf('You must define a type for %s::$%s.', $metadata->reflection->getDeclaringClass()->getName(), $metadata->name));
         }